從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物件導向基礎結構物件
- js 物件導向總結JS物件
- 物件導向概念總結物件
- 物件導向-物件導向思想物件
- nginx代理返回靜態檔案中路徑不帶埠的問題Nginx
- Android Manifest.xml檔案的結構及作用AndroidXML
- 程式設計體系結構(06):Java物件導向程式設計Java物件
- 物件導向和構造器物件
- 週報 物件導向總結物件
- JAVA物件導向詳細總結Java物件
- 物件導向與程式導向物件
- 程式導向與物件導向物件
- “程序導向”和“物件導向”物件
- PHP實現單檔案、多檔案上傳 封裝 物件導向實現檔案上傳PHP封裝物件
- 物件導向物件
- 夯實Java:從物件導向說起Java物件
- 從物件導向解讀設計思想物件
- java從頭開始--物件導向1Java物件
- java的物件導向Java物件
- 物件導向(理解物件)——JavaScript基礎總結(一)物件JavaScript
- php中的程式導向與物件導向PHP物件
- 物件導向,搞定物件物件
- 類檔案結構_class類檔案的的結構
- javaSE之物件導向思維導圖總結Java物件
- JAVA物件導向基礎--物件導向介紹Java物件
- PHP 物件導向 (九)物件導向三大特徵PHP物件特徵
- c語言中塊作用域的優先順序高於檔案作用域C語言
- 學生成績管理系統(C++指標、連結串列、檔案及物件導向的運用)C++指標物件
- 物件導向第二單元總結物件
- Vue CLI 3 搭建的專案中路徑相關問題Vue
- 怎麼看jupyter的檔案儲存路徑
- 關於JS的物件導向的思考和總結JS物件
- Java基礎01 從HelloWorld到物件導向Java物件
- 從入門到入獄------物件導向(二)物件
- 從 Java 到 Scala(一):物件導向談起Java物件
- 物件導向程式設計,看這篇就夠了物件程式設計
- 更多物件導向的JavaScript物件JavaScript