Z-PHP_v5

Z-PHP5 文档


控制器

<h1>控制器写法</h1> <p>控制器路径: /app/index/ctrl/index.php</p> <pre><code>&amp;lt;?php namespace app\ctrl; // 此处必须是 app\ctrl 命名空间 class index { static function init () //前置方法 { echo '&amp;lt;p&amp;gt;我是前置方法&amp;lt;/p&amp;gt;'; } static function index () //inedx方法 { echo '&amp;lt;p&amp;gt;I am index action&amp;lt;/p&amp;gt;'; } static function hello () //hello方法 { echo '&amp;lt;p&amp;gt;I am hello action&amp;lt;/p&amp;gt;'; } static function after () //后置方法 { echo '&amp;lt;p&amp;gt;我是后置方法&amp;lt;/p&amp;gt;'; } }</code></pre> <h1>控制器的访问</h1> <p><strong>以下示例展示的是访问 admin 应用的 user 模块 下的 index 控制器 内的 add 方法,传递code参数值是123456</strong></p> <ul> <li> <h3>默认querystring的url模式</h3> <p>示例:<a href="http://www.***.com/admin.php?m=user&amp;c=index&amp;a=add&amp;code=123456">http://www.***.com/admin.php?m=user&amp;c=index&amp;a=add&amp;code=123456</a> m参数指定模块名,如果不启用模块功能,无需此参数 c参数指定控制器 a参数是操作名 code是自定义需要传递的参数</p> </li> <li> <h3>pathinfo的url模式</h3> <p>示例:<a href="http://www.***.com/admin.php/user/index/add/code/123456">http://www.***.com/admin.php/user/index/add/code/123456</a> 用 / 分割pathinfo部分得到的参数就是 [user, index, add, code, 123456] 前三个参数位置是固定的,分别是:模块,控制器,操作 如果不启用模块功能,则前两个参数位置是固定的,分别是:控制器,操作 剩余的参数按顺序两两一组构成 key=&gt;value 的格式 如此使用常量 ROUTE['params']['code']便可以取到code参数值为123456</p> </li> <li> <h3>路由模式的url详见路由说明</h3> </li> </ul> <p>&lt;font color=red&gt;</p> <ul> <li><strong>debug模式下,访问不存在的控制器或方法,或是程序内部错误,将直接抛出错误信息。</strong></li> <li><strong>非debug模式下访问不存在的方法会执行控制器的 _404() 方法。</strong></li> <li><strong>非debug模式下出现程序内部错误会执行控制器的 _500() 方法。</strong></li> <li><strong>非debug模式下如果当前控制器不存在 _404() 或 _500() 方法:则会执行默认的 _404() 或 _500() 方法显示错误页面。</strong></li> <li><strong>可以根据需要将_404(), _500() 方法写在控制器基类当中</strong></li> </ul> <p>&lt;/font&gt;</p> <h1>控制器继承</h1> <ul> <li><strong>框架没用控制器基类,&lt;font color=red&gt;无须&lt;/font&gt; 继承基类</strong></li> <li><strong>大家可以按自己的需求写一个基类,控制器继承此类</strong></li> </ul>

页面列表

ITEM_HTML