1、创建项目目录 E:/wwwroot/myzfpro
 运行cmd后,cd到框架源文件的bin目录
 运行zf.bat创建命令:zf.bat create project E:/wwwroot/myzfpro
 创建成功后其内的结构如下:
 |-- application -------------------->存放应用程序组件目录
 |   |-- Bootstrap.php -------------->index入口程序执行后,紧接着就执行此“引导程序”
 |   |-- configs
 |   |   `-- application.ini ---------->配置文件
 |   |-- controllers ---------------->存放控制器目录
 |   |   |-- ErrorController.php
 |   |   `-- IndexController.php
 |   |-- models --------------------->存放模型目录
 |   `-- views ---------------------->存放视图(模板)目录
 |       |-- helpers
 |       `-- scripts
 |           |-- error
 |           |   `-- error.phtml
 |           `-- index
 |               `-- index.phtml
 |
 |-- docs -------------------------->可存放项目文档目录
 |-- library ------------------------>放置拷贝来的Zend库文件目录
 |-- public ------------------------->放置公共资源(图片/CSS/javaScript)目录
 |   |-- .htaccess
 |   `-- index.php
 `-- tests
     |-- application
     |   `-- bootstrap.php
     |-- library
     |   `-- bootstrap.php
     `-- phpunit.xml

2、拷贝ZendFramework-1.12.3/library目录下的Zend目录,到第1步的library中。

3、启用PHP的pdo引擎,打开php.ini,启用 extension=php_pdo_mysql.dll

4、开启Apache的rewrite模块,打开httpd.conf
   4.1 启用 LoadModule rewrite_module modules/mod_rewrite.so
 
   4.2 使Apache识别.htaccess重写功能,修改 AllowOverride all

准许任何一个目录支持重写功能:
        <Directory />
           Options FollowSymLinks ExecCGI Indexes
           AllowOverride All
           Order deny,allow
           Deny from all
           Satisfy all
        </Directory>

假设 E:/www 为你的WEB目录,你也可以额外添加重写规则、访问权限:
       <Directory "E:/www">
          Options Indexes FollowSymLinks MultiViews ExecCGI
          AllowOverride All
          Order allow,deny
          Allow from all
       </Directory>

5、打开httpd.conf,开启Apache虚拟主机支持 Include conf/extra/httpd-vhosts.conf

6、打开httpd-vhosts.conf,添加Apache虚拟主机,注:DocumentRoot必须指到public目录
    <VirtualHost *:80>
        DocumentRoot "E:/wwwroot/myzfpro/public"
        ServerName myzftest.com
        ServerAlias www.myzftest.com
    </VirtualHost>

7、添加本地DNS,打开 C:\Windows\System32\drivers\etc 内的host文件,添加记录:
    127.0.0.1 myzftest.com www.myzftest.com

8、重启Apache,测试访问 http://myzftest.com

9、配置框架环境信息,打开 application/configs/application.ini
    在文件末尾添加数据库参数,注:数据库名也可以置空(假如你准备使用多个库的话,你可以在Table模型表里指定表时一同指定数据库名)

;数据库配置
    [mysql]
    webhost                           = myzftest.com
    database.adapter               = pdo_mysql
    database.params.host        = localhost
    database.params.username = root
    database.params.password = root
    database.params.dbname   = ""

10、连接数据库,打开 application/Bootstrap.php
      此文件为引导程序,每次从入口文件进入后,入口程序执行完就会调用一下此程序,然后才执行对应控制器,我准备把数据库连接步骤在此处,
      在Bootstrap类中添加一个构造方法,将数据连接代码放入类中:
      public function __construct($app){
          parent::__construct($app);  
          //初始化数据库配置
          $applicationINI = APPLICATION_PATH.'/configs/application.ini'; //配置文件
          $db_config = new Zend_Config_Ini($applicationINI, 'mysql');    //从配置文件中载入mysql区块配置信息
          $db = Zend_Db::factory($db_config->database);         //连接数据库
          $db->query("set names utf8");           //设置字符集
          Zend_Db_Table::setDefaultAdapter($db);          //实例化表对象
     }

11、创建一个表对象模型
       在 application/models 目录下创建一个 TB_stu.php 文件,代码如下:
       <?php
       /**
        * 功能:学生表
        * */
       class TB_stu extends Zend_Db_Table{
            protected $_name='test.stu';    //表名(注:可以连同数据库名一起指定以区分不同的数据库,前文有提到过)
            protected $_primary='id';       //主键
       }

12、在 application/controllers 目录中的 IndexController.php 控制器在写一个 index 方法,代码如下:
      public function indexAction(){
        // action body      
        require_once APPLICATION_PATH.'/models/Tb_stu.php';      //引入表对象模型       
        $mod_stu  = new TB_stu();     //实例化表对象
        $rows_stu = null;
        $rows_stu =  $mod_stu->fetchAll()->toArray();   //执行查询
        echo '<pre>';
        print_r($rows_stu);
       
    }

13、为stu数据表插入若干数据,测试访问 http://myzftest.com

最新文章

  1. python基础补漏-03-函数
  2. [转]WebPack 常用功能介绍
  3. 更改机器名后,打开TFS提示工作区错误的处理
  4. dig的用法
  5. Scalding初探之三:Hadoop实战
  6. 我的Photoshop第一个作品
  7. java中的hashtable
  8. 【NodeJs】Ctrl+C在Linux平台和Windows平台下的TCP连接中的不同表现
  9. (转载)shell中用date命令获取昨天、明天或者多天前的日期
  10. OC文件操作(1)
  11. 开启Apache mod_rewrite模块(解决404 Not Found)
  12. Android Activity 分类
  13. Page Cache, the Affair Between Memory and Files
  14. Angular内置指令
  15. 【值得收藏】符号计算软件Maple的学习资料汇编【可免费下载】
  16. Physical Standby Database Failover
  17. 转:Oracle弃用sun.reflect.Reflection.getCallerClass
  18. docker 发布到私有docker registry
  19. leetcode每日刷题计划-简单篇day13
  20. 关于mirai的一些研究

热门文章

  1. 我们一起学习WCF 第七篇会话模式
  2. 【UGUI】 (一)------- 放大镜
  3. idea scala 报 with UTF-8 Please try specifying another one using the -encoding option
  4. MongoDB 极简实践入门
  5. OpenLDAP介绍
  6. 云主机启动提示Booting from Hard Disk GRUB
  7. 程序员必备神器--vps主机
  8. leetcode12_C++整数转罗马数字
  9. PytorchZerotoAll学习笔记(五)--逻辑回归
  10. 数据库MySql在python中的使用