IM在表达式引擎中构建我的第一个站点,我想知道如何在EE中使用自定义控制器,就像我在CODEDENITER中使用的,或者EE等效的是什么?
最佳答案
控制器是应用程序的核心,因为它们决定如何处理http请求。
您可能很清楚,CodeIgniter Controller只是一个类文件,可以用URI关联起来命名。
<?php
class Blog extends CI_Controller {
public function index() {
echo 'Hello World!';
}
}
?>
expressionengine等效项是template groups and templates,由控制面板的模板管理器管理。
由于EE的模板组和模板可以命名为任何你想要的,URL structure毫不意外地松散地模仿了一个代码点火器应用程序——毕竟,EE是建立在CI上的。
例如,考虑这个uri:
example.com/index.php/blog
codeigniter会试图找到一个名为
blog.php
的控制器并加载它。expressionengine将尝试查找名为
blog
的模板组并加载名为index
的模板。继续这个例子,uri的第二个段决定调用控制器中的哪个函数(对于codeigniter)或加载哪个模板(对于expressionengine)。
构建相同的uri:
example.com/index.php/blog/entry
codeigniter会试图找到一个名为
blog.php
的控制器并加载它。expressionengine将尝试查找名为
blog
的模板组并加载名为entry
的模板。从第三个和超越url段开始,codeigniter和expressionengine开始采用不同的方法。(对它们之间差异的充分解释超出了本答复的范围)。
尽管codeigniter和expressionengine有许多相似之处,但在非常低的级别上,codeigniter允许您构建web应用程序,而expressionengine允许您构建web站点。