国产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实现的MySQL数据浏览器
Mar 11 PHP
一步一步学习PHP(2)――PHP类型
Feb 15 PHP
php cookies中删除的一般赋值方法
May 07 PHP
如何突破PHP程序员的技术瓶颈分析
Jul 17 PHP
php中设置多级目录session的问题
Aug 08 PHP
PHP函数extension_loaded()用法实例
Jan 19 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 PHP
PHP二维索引数组的遍历实例分析【2种方式】
Jun 24 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 文章采集正则代码
2009/12/28 PHP
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
javascript闭包概念简单解析(推荐)
2016/06/03 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
python实现三次样条插值
2018/12/17 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
Django框架模板用法入门教程
2019/11/04 Python
解决pycharm 安装numpy失败的问题
2019/12/05 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
英国最受欢迎的在线隐形眼镜商店:VisionDirect.co.uk
2018/12/06 全球购物
《云雀的心愿》教学反思
2014/02/25 职场文书
感恩之星事迹材料
2014/05/03 职场文书
授权委托书
2014/07/31 职场文书
优秀教研组申报材料
2014/12/26 职场文书
环保建议书范文
2015/09/14 职场文书