• Yii 配置文件


    主配置文件是main.php:

     <?php
     
     // uncomment the following to define a path alias
     // Yii::setPathOfAlias('local','path/to/local-folder');
     
     // This is the main Web application configuration. Any writable
     // CWebApplication properties can be configured here.
     return array(
         'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
         'name'=>'My Web Application',
     
         // preloading 'log' component
         'preload'=>array('log'),
     
         // autoloading model and component classes
         'import'=>array(
             'application.models.*',
             'application.components.*',
         ),
     
         //default controller
         'defaultController'=>'test',
         
         //controller map
         /* 'controllerMap'=>array(
             'index'=>'application.controllers.TestController',    
         ), */    
             
         'modules'=>array(
             // uncomment the following to enable the Gii tool
             
             'gii'=>array(
                 'class'=>'system.gii.GiiModule',
                 'password'=>'mr.coke',
                  // If removed, Gii defaults to localhost only. Edit carefully to taste.
                 'ipFilters'=>array('127.0.0.1','::1'),
             ),
             
         ),
     
         // application components
         'components'=>array(    
             'user'=>array(
                 // enable cookie-based authentication
                 'allowAutoLogin'=>true,
             ),
             // uncomment the following to enable URLs in path-format
             
             'urlManager'=>array(
                 'urlFormat'=>'path',
                 'rules'=>array(
                     '<controller:w+>/<id:d+>'=>'<controller>/view',
                     '<controller:w+>/<action:w+>/<id:d+>'=>'<controller>/<action>',
                     '<controller:w+>/<action:w+>'=>'<controller>/<action>',
                     'index'=>'test/index',
                     'test'=>'test/test',
                 ),
             ),
             
             /* 'db'=>array(
                 'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
             ), */
             // uncomment the following to use a MySQL database
             
             'db'=>array(
                 'connectionString' => 'mysql:host=localhost;dbname=user.login.yii',
                 'emulatePrepare' => true,
                 'username' => 'root',
                 'password' => 'root',
                 'charset' => 'utf8',
                 'tablePrefix' =>'tbl_',
                 'enableProfiling'=>YII_DEBUG,
                 'enableParamLogging'=>YII_DEBUG,
             ),
             
             'errorHandler'=>array(
                 // use 'site/error' action to display errors
                 'errorAction'=>'site/error',
             ),
             'log'=>array(
                 'class'=>'CLogRouter',
                 'routes'=>array(
                     array(
                         'class'=>'CFileLogRoute',
                         'levels'=>'error, warning',
                     ),
                     // uncomment the following to show log messages on web pages
                     
                     array(
                         'class'=>'CWebLogRoute',
                         'levels'=>'error, warning,trace',
                         'categories'=>'system.db.*',
                     ),
                     
                 ),
             ),
         ),
     
         // application-level parameters that can be accessed
         // using Yii::app()->params['paramName']
         'params'=>array(
             // this is used in contact page
             'adminEmail'=>'webmaster@example.com',
         ),
     );

    关于urlmanager:

    User-friendly URLs 

    When path is used as the URL format, we can specify some URL rules to make our URLs even more user-friendly. For example, we can generate a URL as short as /post/100, instead of the lengthy/index.php/post/read/id/100. URL rules are used by CUrlManager for both URL creation and parsing purposes.

        ......
        'components'=>array(
            ......
            'urlManager'=>array(
                'urlFormat'=>'path',
                'rules'=>array(
                    'pattern1'=>'route1',
                    'pattern2'=>'route2',
                    'pattern3'=>'route3',
                ),
            ),
        ),
    );

    The rules are specified as an array of pattern-route pairs, each corresponding to a single rule. The pattern of a rule is a string used to match the path info part of URLs. And the route of a rule should refer to a valid controller route.

    Besides the above pattern-route format, a rule may also be specified with customized options, like the following:

    'pattern1'=>array('route1', 'urlSuffix'=>'.xml', 'caseSensitive'=>false)

    Starting from version 1.1.7, the following format may also be used (that is, the pattern is specified as an array element), which allows specifying several rules with the same pattern:

    array('route1', 'pattern'=>'pattern1', 'urlSuffix'=>'.xml', 'caseSensitive'=>false)

    3. Using Named Parameters 使用命名的参数

    A rule can be associated with a few GET parameters. These GET parameters appear in the rule's pattern as special tokens in the following format:

    <ParamName:ParamPattern>
    

    where ParamName specifies the name of a GET parameter, and the optional ParamPattern specifies the regular expression that should be used to match the value of the GET parameter. In case when ParamPatternis omitted, it means the parameter should match any characters except the slash /. When creating a URL, these parameter tokens will be replaced with the corresponding parameter values; when parsing a URL, the corresponding GET parameters will be populated with the parsed results.

    Let's use some examples to explain how URL rules work. We assume that our rule set consists of three rules:

    array(
        'posts'=>'post/list',
        'post/<id:d+>'=>'post/read',
        'post/<year:d{4}>/<title>'=>'post/read',
    )
    • Calling $this->createUrl('post/list') generates /index.php/posts. The first rule is applied.

    • Calling $this->createUrl('post/read',array('id'=>100)) generates /index.php/post/100. The second rule is applied.

    • Calling $this->createUrl('post/read',array('year'=>2008,'title'=>'a sample post'))generates /index.php/post/2008/a%20sample%20post. The third rule is applied.

    • Calling $this->createUrl('post/read') generates /index.php/post/read. None of the rules is applied.

    更多:http://www.yiiframework.com/doc/guide/1.1/en/topics.url
    http://www.cnblogs.com/mrcoke/articles/2407759.html
  • 相关阅读:
    使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)
    Android学习-应用程序管理
    用户过2亿获取每个用户不到6分钱,闪传是怎么做到?(最大的成本是决策成本,否则全是无用功)
    Delphi应用程序的调试(十)调试器选项(在IDE中不要使用异常)
    无标题窗体拖动(三种方法)
    关于Qt在子线程中使用QMessageBox的折衷方法
    Qt自定义事件的实现(军队真正干活,但要增加监军,大平台通知事件,事件内容自定义)
    java对数据库的操作
    ddd
    伟大是熬出来的
  • 原文地址:https://www.cnblogs.com/youxin/p/3870547.html
Copyright © 2020-2023  润新知