zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    C/C++通过WMI和系统API函数获取获取系统硬件配置信息
    C++ 获取mac地址
    解决Win7下UAC开启时无法响应WM_DROPFILES消息
    C++vector迭代器失效的问题
    解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化
    VC++获取计算机Hardware Information (CPU ID, MainBoard Info, Hard Disk Serial, System Information)
    VC++实现在系统托盘来新消息闪烁,鼠标悬停显示窗口
    正则表达式的懒惰匹配?
    thinkphp-许愿墙-3
    thinkphp-许愿墙-2
  • 原文地址:https://www.cnblogs.com/youxin/p/3870547.html
Copyright © 2011-2022 走看看