国产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 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
php 字符串替换的方法
Jan 10 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
PHP URL路由类实例
Nov 12 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
php实现当前页面点击下载文件的实例代码
Nov 16 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
PHP针对redis常用操作实例详解
Aug 17 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
Angular.js中上传指令ng-upload的基本使用教程
2017/07/30 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
javascript实现评分功能
2020/06/24 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
python reverse反转部分数组的实例
2018/12/13 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
如何理解Python中包的引入
2020/05/29 Python
使用django自带的user做外键的方法
2020/11/30 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
行政管理专业推荐信
2013/11/02 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
检讨书范文300字
2015/01/28 职场文书
化妆品促销活动总结
2015/05/07 职场文书
学校教师培训工作总结
2015/10/14 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python