php之zend framework入门

    技术2022-05-20  35

      一、首先需要在机器上搭建好php环境,至于如何搭建,不在本文讨论范围,大家可以baidu下。。

      二、在zend framework上下载 zend源码。

      三、我使用EclipsePHP Studio 3编辑器,个人感觉还不错,有兴趣的朋友,可以在php100网站上下载。建立一个php项目,并建立目录

            

    其中application下用来放mvc相关的类与模板文件,安全考虑,可以在application目录下建立一个.htaccess文件,内容为:deny from all 拒绝所有对此目录下文件的访问。

    library下放zend类库。

    public 下放css,js文件与图片。

    在项目根目录下创建.htaccess文件。并放入如下内容:

    RewriteEngine onRewriteRule !/.(jgp|ico|gif|png|bmp|css|js)$ index.php

    此段代码的意思为开启url重定向,并将所以访问此文件夹下的请求,转到index.php,css,js文件与图片除外。

    为了让这段代码生效,还需要修改apache的httpd.conf配置文件,将LoadModule rewrite_module modules/mod_rewrite.so 前的#去掉,即取消注释,将AllowOverride None 改为AllowOverride All。允许目录下的配置文件覆盖httpd.conf上的配置。

    四、在项目根目录下创建index.php文件,写入如下内容:

     

     <?php

    error_reporting(E_ALL|E_STRICT); //在开启错误报告

     date_default_timezone_set('Asia/Shanghai'); //配置地区

     set_include_path('.' .PATH_SEPARATOR .'./library'.PATH_SEPARATOR .'./application/models/'.PATH_SEPARATOR . get_include_path());  //配置环境路径

    // require_once 'Zend/Loader.php';// Zend_Loader::registerAutoload();//设置Zend Framework 自动载入类文件

     require_once "Zend/Loader/Autoloader.php";  //载入zend框架 Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true); //静态载入自动类文件

     $registry = Zend_Registry::getInstance(); //静态获得实例 $view = new Zend_View(); //实例化zend 模板 $view->setScriptPath('./application/views/scripts/');//设置模板显示路径 $registry['view'] = $view;//注册View    //设置控制器 $frontController =Zend_Controller_Front::getInstance(); $frontController->setBaseUrl('')//设置基本路径     ->setParam('noViewRenderer', true)     ->setControllerDirectory('./application/controllers')     ->throwExceptions(true)     ->dispatch();

     ?>

     

    五、在/application/controllers目录下创建一个php文件,命名为IndexController.php 文件内容为

     

     <?php

      class IndexController extends Zend_Controller_Action{ function init(){  $this->registery=Zend_registry::getInstance();  $this->view=$this->registery["view"];  $this->view->baseUrl=$this->_request->getBaseUrl();   }  function indexAction(){  $this->view->world="hello,world";   //定义变量,此处的变量会在模板文件中用到  echo $this->view->render("index.html"); //读取模板文件并显示 }

    }

     ?>

     

    六、在/application/views/scripts文件夹下创建模板文件,index.html,文件内容 :

    <?php echo($this->world) ?><!--  此处的world即为IndexController中定义的变量 -->

     

    七、假如在apache中将这个项目配置为www.test.com:90,则在浏览器中打开www.test.com:90,如果看到hello,world则表示配置成功。关于如何在apache中配置多个项目,请看我的另一篇文章。


    最新回复(0)