從smarty檔案結構部署看物件導向中路徑的作用域
public function __construct()
{
// selfpointer needed by some other class methods
$this->smarty = $this;
if (is_callable(`mb_internal_encoding`)) {//多位元組編碼
mb_internal_encoding(SMARTY_RESOURCE_CHAR_SET);
}
$this->start_time = microtime(true);
// set default dirs DS在windows下是字元‘’linux下是‘/’
$this->template_dir = array(`.` . DS . `templates` . DS);//即‘. emplates’當前資料夾下的templates資料夾內
$this->compile_dir = `.` . DS . `templates_c` . DS;//即‘. emplates_c’
$this->plugins_dir = array(SMARTY_PLUGINS_DIR);
$this->cache_dir = `.` . DS . `cache` . DS;
$this->config_dir = array(`.` . DS . `configs` . DS);
$this->debug_tpl = `file:` . dirname(__FILE__) . `/debug.tpl`;
if (isset($_SERVER[`SCRIPT_NAME`])) {
$this->assignGlobal(`SCRIPT_NAME`, $_SERVER[`SCRIPT_NAME`]);//當前指令碼的名字
}
}
①上邊的程式碼是Smarty類的建構函式原始碼,所在檔案是:E:APMServwwwhtdocszf wosmartySmarty.class.php
②我在另一個檔案中(ZF的入口檔案中)將該檔案包含進來:E:APMServwwwhtdocszf woindex.php
<?php
·········
$registry = new Zend_Registry();
require_once(`Smarty.class.php`);
$views = new Smarty();
$registry->set(`view`, $views);
··········
③我在第三個檔案中使用這個new出來的物件:E:APMServwwwhtdocszf woapplicationcontrollersHelloController.php
<?php
require_once(`Zend/Controller/Action.php`);
class HelloController extends Zend_Controller_Action
{
public function helloAction()
{
$smarty = Zend_Registry::get(`view`);
$smarty->assign(`name`,`zhangsan`);
$smarty->display(`hello.phtml`);
}
}
問題是:①中smarty的建構函式預設的templates和templates_c等等檔案應該和smarty.class.php在同一資料夾下,那麼我在②中new這個類生成物件,③檔案中使用這個物件,那我到底應該把templates和templates_c等等資料夾建在那裡呢
結果:應該與new這個類的語句所在的檔案建在同級目錄下,否則會出現:
SmartyException: Unable to load template file
`hello.phtml` in
E:APMServwwwhtdocszf wosmartysyspluginssmarty_internal_templatebase.php
當然你沒有用smarty預設的路徑,而是另外指定的路徑,那就看你指定到哪裡了
相關文章
- JavaScript物件導向~ 作用域和閉包JavaScript物件
- 從程式導向到物件導向物件
- 從物件導向到模式再到真正的物件導向 (轉)物件模式
- 物件導向-程式碼塊看程式寫結果物件
- 物件導向-設計模式-結構型物件設計模式
- 物件導向與領域建模物件
- [物件導向總結]物件
- ES5物件導向基礎結構物件
- swift物件導向特性——類和結構體Swift物件結構體
- 為何物件導向優於結構化? (轉)物件
- 全面物件導向體系結構設計 (轉)物件
- js 物件導向總結JS物件
- 物件導向概念總結物件
- 物件導向-物件導向思想物件
- SSH是不是從物件導向的退化物件
- 困惑:程式導向和麵向物件的結合?物件
- 物件導向和構造器物件
- 程式設計體系結構(06):Java物件導向程式設計Java物件
- 週報 物件導向總結物件
- 程式導向與物件導向物件
- 物件導向與程式導向物件
- “程序導向”和“物件導向”物件
- JAVA物件導向詳細總結Java物件
- Java物件導向總結(多型)Java物件多型
- 【C#之物件導向總結】C#物件
- 夯實Java:從物件導向說起Java物件
- java從頭開始--物件導向1Java物件
- 從物件導向解讀設計思想物件
- 物件導向物件
- Javascript 物件導向中的建構函式和原型物件JavaScript物件函式原型
- 自己總結物件導向程式設計的總結物件程式設計
- java的物件導向Java物件
- JavaScript的物件導向JavaScript物件
- php中的程式導向與物件導向PHP物件
- 物件導向,搞定物件物件
- 物件導向(理解物件)——JavaScript基礎總結(一)物件JavaScript
- PHP 物件導向 (九)物件導向三大特徵PHP物件特徵
- JAVA物件導向基礎--物件導向介紹Java物件