国产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支持时的替代方案
Oct 09 PHP
php中看实例学正则表达式
Dec 25 PHP
URL Rewrite的设置方法
Jan 02 PHP
解析:使用php mongodb扩展时 需要注意的事项
Jun 18 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
PHP中两个float(浮点数)比较实例分析
Sep 27 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
使用Git实现Laravel项目的自动化部署
Nov 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面向对象编程快速入门
2006/12/14 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
导致python中import错误的原因是什么
2020/07/01 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
Python实现异步IO的示例
2020/11/05 Python
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
什么时候用assert
2015/05/08 面试题
大学学习个人的自我评价
2014/02/18 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
python随机打印成绩排名表
2021/06/23 Python