国产PHP开发框架myqee新手快速入门教程


Posted in PHP onJuly 14, 2014

一.环境.

笔者的环境是win7 32bit 旗舰版.用的xampp1.7.4(1.8.x版的php版本太高,个人觉得php 5.3X更实用些)+mq最新版.重点是配置虚拟机,
参考了https://3water.com/article/52123.htm

本机xampp安装在D盘,给出我的配置:虚拟机配置文件路径 D:\xampp\apache\conf\extra\httpd-vhosts

#mq

<VirtualHost *:80>

 DocumentRoot "D:/xampp/htdocs/mq/"

 ServerName mq

 <Directory "D:/xampp/htdocs/mq/">

  Options Indexes FollowSymLinks Includes ExecCGI

  AllowOverride All

  Order allow,deny

  Allow from all

 </Directory>

</VirtualHost>

<VirtualHost *:80>

DocumentRoot "D:/xampp/htdocs/"

ServerName localhost

</VirtualHost>

host配置文件位置
C:\Windows\System32\drivers\etc\hosts.ics
本机没有找到 hosts ,改hosts.ics也是可以的.

二.新建一个myqee项目

1.下载最新 版myqee,github 你懂的.
解压到D:/xampp/htdocs/mq文件夹下(与虚拟机配置一致).
修改config.new.php  为config.php 
还有需要一个.htacess ,我用github 下载下来的一直不行,需要用官方文档写的那个.内容如下

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php [PT,L]

copy一份到wwwroot目录下.
a.新建 一个项目,打开根目录的config.php,新增一个s项目,
配置如下(放在默认配置之前)

's' => array

    (

        'name' => '默认项目', //名称

        'dir' => 's', //目录

        'isuse' => true, //是否启用

        'url' => '/',

 ),

 b.projects下面新建 目录s ,为了方便,直接复制defautl并重命名.
在s目录下controllers中新建 一个最简单的控制器 helloworld.controller.php
内容如下

<?php

class Controller_HelloWorld extends Controller

{

    /**

     * 测试

     */

    public function action_default()

    {

         echo 'helloworld';

    }

}

打开浏览器,输入mq/index.php/helloworld,看到hellowold,成功.
在开发环境中,建议开启myqee的debug功能,在php.ini加入
;[MyQEE]

myqee.debug=On

配合firefox +firebug使用.

三.显示数据库中的内容.

hello world太简单了,以至于在实际开发中没有什么意义,趁热打铁.来点干货,从数据库读取数据,并显示在对应的视图中.
a.新建config.php放在s 根目录下并写入对应的数据库配置.内容如下:

<?php

/**database config*/

$config['database']['default'] = array

(

  'type' => 'MySQL',

  'connection' => array

  (

    'hostname' => '127.0.0.1',

    'database' => 'mq',

    'username' => 'mq',

    'password' => '123456', 'persistent' => false,

  ),

      

  'table_prefix' => '',

  'charset' => 'utf8',

  'caching' => false,

  'profiling' => true,

);

这里我在mysql中建立了一个mq库 ,并建了一张表wh_list
wh_list的ddl如下,(内容自己添加).

CREATE TABLE `wh_list` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, 

  PRIMARY KEY (`id`),

  UNIQUE KEY `username` (`username`) USING BTREE

) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

b.model整起.
在s目录下新建models目录,并新建 一个wh.model.php内容如下:

<?php

class Model_Wh extends Model

{

 static function get_list()

 {

  $db = Database::instance();

  $sql = 'select * FROM wh_list';

  $arr = $db->query($sql)->as_array();

  return $arr;

 }

}

修改下上面的helloworld控制器.内容修改如下:

<?php

class Controller_HelloWorld extends Controller

{

    /**

     * 测试

     */

    public function action_default()

    {

     $view = new View('wh');

     $arr = Model_Wh::get_list();

     $view->set('wh', $arr);

     $view->render();

    }

}

别激动,如果在浏览刷刚才的mq/index.php/helloworld,肯定会报错的,视图没有.
在views,新建 wh.view.php
内容如下:

<?php foreach($wh as $w){?>

  <?php echo $w['name'] ?>

<?php }?>

刷新下,就能看到wh_list 表的`name`列内容了.
呵呵,是不是很有成就感.
新手入门的教程先写到这里,声明下,这个只是给新手快速入门感受框架之用.

PHP 相关文章推荐
php遍历数组的4种方法总结
Jul 05 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
php绘制一个矩形的方法
Jan 24 PHP
PHP模块化安装教程
Jun 01 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
PHP简单实现数字分页功能示例
Aug 24 PHP
mac下多个php版本快速切换的方法
Oct 09 PHP
PHP的反射机制实例详解
Mar 29 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 PHP
phpinfo的知识点总结
Oct 10 PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 #PHP
PHP缓存机制Output Control详解
Jul 14 #PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 #PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 #PHP
PHP实现获取图片颜色值的方法
Jul 11 #PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 #PHP
php事务处理实例详解
Jul 11 #PHP
You might like
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
PHP异常处理浅析
2015/05/12 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
Python处理JSON数据并生成条形图
2016/08/05 Python
python实现内存监控系统
2021/03/07 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
深圳茁壮笔试题
2015/05/28 面试题
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
预备党员期盼十八届四中全会召开思想汇报
2014/10/17 职场文书
唐山大地震观后感
2015/06/05 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis