zoukankan      html  css  js  c++  java
  • ZendFramework安装配置

    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:WindowsSystem32driversetc 内的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

  • 相关阅读:
    HTTP Status 500
    响应式导航页面
    Http状态码的种类及含义
    实时监听输入框值变化的完美方案:oninput & onpropertychange
    运动框架
    图片循环轮播
    html页面加载和解析流程
    js和jquery实现tab选项卡
    js遇到这样基础题,看你能不能作对呢
    sql统计重复数据
  • 原文地址:https://www.cnblogs.com/martinzhang/p/3382934.html
Copyright © 2011-2022 走看看