codeigniter详细笔记
下载解压后把整个目录(假设目录名为cidemo)放到web site里(假设放入root目录下)即可。
check if it works at http://localhost/cidemo/index.php
注意:使用codeigniter,所有的page都必须经index.php来分配!!
codeigniter hello worldl tutorial: http://codeigniter.com/tutorials/watch/intro/
* 如果你希望通过隐藏 CodeIgniter 文件的位置来增加安全性,你可以修改 system 和 application 目录的名字,把它改成任何你想改的。如果已经修改了名字,你必须打开你主目录下面的index.php 文件设置里面的 $system_path 和 $application_folder 变量,把它设成你新改的名字。
为了安全考虑,system和application两个文件夹应放到网站根目录(Web Root)以外的地方,这样浏览器就不能够直接访问它们。在默认设置下, 在每个文件夹中都有一个.htaccess配置文件以拒绝直接访问, 但是当把代码部署到生产环境时最好移除他们,因为生成环境的web服务可能会改变或不支持.htaccess的配置.
如果你移动了以上两个文件夹,请打开主目录下的index.php文件并编辑$system_path和$application_folder两个变量, 最好使用绝对路径进行替换, 例如:'/www/MyUser/system'.
* 如果不管你在 URL 里面写什么都只是出现缺省页面的话,有可能是你的服务器不支持 PATH_INFO 变量,它被用来提供搜索引擎友好的 URL。解决这个问题的第一步是打开application/config/config.php 文件,查找 URI Protocol 信息。在那里推荐你去尝试一些其他的设置方法。如果这些方法都无效,你就需要让 CodeIgniter 去强行加一个问号去标记你的 URL。为了做到这点,打开你的 application/config/config.php 文件把里面的:
$config['index_page'] = "index.php";
修改成这样:
$config['index_page'] = "index.php?";
codeigniter的url segment的命名格式为:
http://example.com/[controller-class]/[controller-method]/[arguments]
数据库参数的设置在application/config/database.php
code igniter index.php的welcome page的设置在application/config/routes.php
by default welcome controller page
$route['default_controller'] = "welcome";
codeigniter的index.php里的基本设置
define('ENVIRONMENT', 'development'); //当launch时,设置为production
$system_path = 'system'; //"system" folder path
$application_folder = 'application'; //"system" folder path
application/config/config.php的基本设置:
$config['base_url'] = "http://www.cnmiss.cn/"
您网站的网址,codeigniter 会根据这个网址来生成链接、表单地址等。
$config['index_page'] = "index.php"
codeigniter 根目录下的 index.php
文件名,codeigniter 会使用它来生成链接地址。如果使用隐藏 index.php
的 URL,将其设置为空字符串:$config['index_page'] = ""。
去掉URL中的index.php的步骤 http://justcoding.iteye.com/blog/547350
$config['uri_protocol'] = "AUTO"
codeigniter 生成 URL 使用的格式,设置为“AUTO”自动探测。如果链接不能正常工作,可以尝试以下值:
PATH_INFO、QUERY_STRING、REQUEST_URI、ORIG_PATH_INFO。
$config['url_suffix'] = ""
codeigniter 产生链接时使用的 URL 后缀,如果要实现伪静态,可以设置 $config['url_suffix'] = ".html"。
$config['language'] = "english"
codeigniter 程序默认使用的语言
$config['charset'] = "UTF-8"
codeigniter 程序默认使用的字符集
$config['enable_hooks'] = FALSE
是否启用钩子,钩子功能使得您可以在不修改系统核心文件的基础上来改变或增加系统的核心运行功能。
$config['subclass_prefix'] = 'MY_'
设置扩展 codeigniter 类库时使用的类名前缀
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-'
设置 codeigniter URL 中允许使用的字符,这是一个正则表达式。当访问者试图访问的 codeigniter URL
包含其它字符时,会得到一个警告。应该尽量限制 codeigniter URL
使用的字符来提高安全性,可以有效的过滤注入攻击。如果设置为空,允许使用所有字符,强烈建议不要这么做。
$config['enable_query_strings'] = FALSE
codeigniter URL 默认使用分段的 URL,此选项也允许 codeigniter
开启查询字符串形式 URL。您可以使用查询字符串来传递要访问的控制器和函数。例如: index.php?c=controller&m=method。codeigniter
默认使用分段的 URL,查询字符串的 URL
很多特性不被支持。
$config['controller_trigger'] = 'c'
codeigniter 将查询字符串中此选项对应的值当做 codeigniter
控制器的名字。
$config['function_trigger'] = 'm'
codeigniter 将查询字符串中此选项对应的值当做 codeigniter
控制器方法的名字
$config['log_threshold'] = 0
启用错误日志,设置记录哪些类型的错误。
0 = 关闭错误日志记录
1 = 记录错误信息
2 = 记录调试信息
3 = 记录通知信息
4 = 记录所有信息
$config['log_path'] = ''
如果您不想使用默认的错误日志记录目录配置(system/logs/),可以设置完整的服务器目录。
$config['log_date_format'] = 'Y-m-d H:i:s'
codeigniter 错误日志时间格式
$config['cache_path'] = ''
如果您不想使用默认的缓存目录(system/cache/)来存储缓存,可以设置完整的服务器目录
$config['encryption_key'] = ""
codeigniter 使用的密钥
$config['global_xss_filtering'] = FALSE
是否对输入数据(GET、POST)自动过滤跨脚本攻击
$config['compress_output'] = FALSE
启用Gzip压缩达到最快的页面加载速度
$config['time_reference'] = 'local'
设置时间格式:"local"、"GMT"
$config['rewrite_short_tags'] = FALSE
如果您想要使用短标记,但 PHP
服务器不支持,codeigniter 可以通过重写短标记来支持这一功能。
$config['proxy_ips'] = ''
如果访问者通过代理服务器来访问您的网站,您必须设置代理服务器 IP
列表,以识别出访问者真正的 IP
* 在codeigniter中的url中混合使用querystring和segment
目前测试的结果是codeigniter by default 支持混合的。可以通过
$this->input->get('some_variable', TRUE);
来获取GET parameter
ref links:
http://stackoverflow.com/questions/2171185/codeigniter-php-framework-need-to-get-query-string
http://codeigniter.com/user_guide/libraries/input.html
另外还有其他solutions:
http://gpiot.com/code-igniter-mixing-segment-based-url-with-get-querystring/
http://www.askaboutphp.com/58/codeigniter-mixing-segment-based-url-with-querystrings.html
http://stackoverflow.com/questions/2171185/codeigniter-php-framework-need-to-get-query-string