国产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 程序员应该使用的10个组件
Oct 31 PHP
PHP采集相关教程之一 CURL函数库
Feb 15 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
php获取textarea的值并处理回车换行的方法
Oct 20 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 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新手上路(十二)
2006/10/09 PHP
PHP中SESSION使用中的一点经验总结
2012/03/30 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
基于jquery的商品展示放大镜
2010/08/07 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
python实例化对象的具体方法
2020/06/17 Python
擅自离岗检讨书
2014/02/11 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
教师一岗双责责任书
2014/04/16 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
纪律教育月活动总结
2014/08/26 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
水电工岗位职责
2015/02/14 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL