欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Yii 1.1.8发布,PHP开发框架

程序员文章站 2022-04-19 23:01:53
...

PHP开发框架Yii 1.1.8 发布。该版本引入了超过80个新功能、加强和bug修复。你可以编写自定义URL规则类来为应用程序处理任意复杂的URL格式,改进的class autoloader等。 Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速

PHP开发框架Yii 1.1.8 发布。该版本引入了超过80个新功能、加强和bug修复。你可以编写自定义URL规则类来为应用程序处理任意复杂的URL格式,改进的class autoloader等。

Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。

使用自定义url规则类的URL 规则配置:

  1. array(
  2. // a standard rule mapping '/login' to 'site/login', and so on
  3. 'action:(login|logout|about)>' => 'site/action>',
  4. // a custom rule to handle '/Manufacturer/Model'
  5. array(
  6. 'class' => 'application.components.CarUrlRule',
  7. 'connectionID' => 'db',
  8. ),
  9. // a standard rule to handle 'post/update' and so on
  10. 'controller:\w+>/action:\w+>' => 'controller>/action>',
  11. ),

自定义url规则类拓展自 CBaseUrlRule ,可以像如下方式实现:

  1. class CarUrlRule extends CBaseUrlRule
  2. {
  3. public $connectionID = 'db';
  4. public function createUrl($manager,$route,$params,$ampersand)
  5. {
  6. if ($route==='car/index')
  7. {
  8. if (isset($params['manufacturer'], $params['model']))
  9. return $params['manufacturer'] . '/' . $params['model'];
  10. else if (isset($params['manufacturer']))
  11. return $params['manufacturer'];
  12. }
  13. return false; // this rule does not apply
  14. }
  15. public function parseUrl($manager,$request,$pathInfo,$rawPathInfo)
  16. {
  17. if (preg_match('%^(\w+)(/(\w+))?$%', $pathInfo, $matches))
  18. {
  19. // check $matches[1] and $matches[3] to see
  20. // if they match a manufacturer and a model in the database
  21. // If so, set $_GET['manufacturer'] and/or $_GET['model']
  22. // and return 'car/index'
  23. }
  24. return false; // this rule does not apply
  25. }
  26. }

下载地址:http://www.yiiframework.com/download/

原文出自:开源中国社区