表达式引擎控制器

Wya*_*son 3 php controller codeigniter expressionengine

我正在构建我在Expression Engine中的第一个站点,我想知道如何在EE中使用自定义控制器,就像我在Codeigniter中那样,或者什么是EE等价物?

rjb*_*rjb 7

控制器是应用程序的核心,因为它们决定了如何处理HTTP请求.

您可能很清楚,CodeIgniter Controller只是一个类文件,其命名方式可以与URI相关联.

<?php
    class Blog extends CI_Controller {

        public function index() {
            echo 'Hello World!';
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

ExpressionEngine等效项是模板组和模板,可从控制面板的模板管理器中进行管理.

在此输入图像描述

由于EE的模板组和模板可以根据需要命名,因此URL结构不出所料地模仿CodeIgniter应用程序 - 毕竟,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站点.