Home | Mirror | Search |
sudo mv ZendFramework-1.10.2 /usr/local/share/ sudo ln -s /usr/local/share/ZendFramework-1.10.2 /usr/local/share/zend
~/.bashrc
alias zf.sh=path/to/ZendFramework/bin/zf.sh
alias zf.sh=/usr/local/share/zend/bin/zf.sh
$ zf.sh create project quickstart
$ cd quickstart/library; ln -s /usr/local/share/zend/library/Zend .
Rewrite
.htaccess內容如下:
RewriteEngine on RewriteRule !".(js|ico|gif|jpg|png|css)$ index.php
<VirtualHost *:80> ServerName quickstart.local DocumentRoot /path/to/quickstart/public SetEnv APPLICATION_ENV "development" <Directory /path/to/quickstart/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
/etc/hosts
127.0.0.1 quickstart.local
$ sudo apt-get install php5-sqlite mkdir -p data/db; chmod -R a+rwX data
zf.sh configure db-adapter \ 'adapter=PDO_SQLITE&dbname=APPLICATION_PATH "/../data/db/guestbook.db"' \ production zf.sh configure db-adapter \ 'adapter=PDO_SQLITE&dbname=APPLICATION_PATH "/../data/db/guestbook-testing.db"' \ testing zf.sh configure db-adapter \ 'adapter=PDO_SQLITE&dbname=APPLICATION_PATH "/../data/db/guestbook-dev.db"' \ development
<?php //打開錯誤提示 error_reporting(E_ALL|E_STRICT); //設定時區 date_default_timezone_set("Asia/Shanghai"); //指明引用檔案的路徑 set_include_path('.'.PATH_SEPARATOR.'./library'.PATH_SEPARATOR.'./app/model/'.PATH_SEPARATOR.get_include_path()); //必須手動加載Loader.php include "Zend/Loader.php"; //自動加載類,使用時,直接實例化使用 function __autoload($class){ Zend_Loader::loadClass($class); } //getInstance()方法用來獲取前端控製器實例 $frontController = Zend_Controller_Front::getInstance(); //設定前端路由器的工作目錄,即cotroller $frontController->setControllerDirectory(array("default"=>"app/controller")); //拋出異常 $frontController->throwExceptions(true); //設置基地址,方便以後url的跳轉用戶,注意,區分大小寫! $frontController->setBaseUrl("/phpzend"); //使用smarty模版需關閉本身的視圖助手. $frontController->setParam("noViewRenderer", true); // 關閉錯誤提示,發生請求錯誤時候,轉到ErrorController的errorAction控製器 //$frontController->throwExceptions(false); //對。。進行註冊 Zend_Registry::set("font", $frontController); //------------配置Smarty模版 ---------------- include "smarty/Smarty.class.php"; /** * 對smarty模版進行初始化 **/ $views = new Smarty(); //$views->left_delimiter = "{{"; //$views->right_delimiter = "}}"; $views->compile_dir = "app/template_c"; $views->cache_dir = "app/template_c/cache_c"; $views->template_dir = "app/template"; function smarty_block_dynamic($param,$content,&$views) { return $content; } $views->register_block("dynamic","smarty_block_dynamic",false); Zend_Registry::set("views", $views); //開始運行程序 $frontController->dispatch();
<?php //控製器層 class IndexController extends Zend_Controller_Action{ var $views; /*模板對象*/ var $data; /*傳遞模版變數的對象*/ function init() { //拿回註冊過的對象 $this->views = Zend_Registry::get("views"); } function indexAction() { //定義模版顯示的變數 $data['title']="hello world"; //傳遞變數到模版 $this->views->assign($data); //顯示模版 $this->views->display("index/index.tpl"); echo "<p>in IndexController::indexAction()</p>"; } function addAction() { } }