国产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 缓冲的免费实现方法
Oct 09 PHP
虚拟主机中对PHP的特殊设置
Oct 09 PHP
php echo()和print()、require()和include()函数区别说明
Mar 27 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
php实现mysql事务处理的方法
Dec 25 PHP
php 类自动载入的方法
Jun 03 PHP
php类的扩展和继承用法实例
Jun 20 PHP
对比分析php中Cookie与Session的异同
Feb 19 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 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 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
php实现插入排序
2015/03/29 PHP
php遍历CSV类实例
2015/04/14 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
总结Python编程中函数的使用要点
2016/03/20 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
Python制作exe文件简单流程
2019/01/24 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
美国旅游网站:Tours4Fun
2017/02/17 全球购物
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
班级入场式解说词
2014/02/01 职场文书
万能检讨书2000字
2014/10/17 职场文书
法律意见书范文
2015/06/04 职场文书
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL