仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1361|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之FleaPHP 开辟指南 - 5. 使用法式设置

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
现在,也有了从事软件工程的想法,在经过了一个月的PHP培训学习之后,发现其实软件工程并没有想像中的那么难。法式|开辟指南   FleaPHP 是一个具有高度天真性的框架。开辟者可以用分歧的设置来调剂 FleaPHP 的任务体例。这些设置一致保留在名为“使用法式设置”的数据源中。
实践上,除 FleaPHP 框架自己,使用法式也能够利用“使用法式设置”来保留使用法式运转时需求的各类设置。
FleaPHP 的使用法式设置有一个默许设置装备摆设文件,保留在 FLEA/Config/Default_APP_INF.php 中。使用法式可以在进口文件(例如 index.php)中修正这些设置,以便调剂 FleaPHP 的任务体例。

若何利用使用法式设置?

当 FleaPHP 框架初始化时,默许的使用法式设置文件(Default_APP_INF.php)会被载入。假如使用法式要指定设置,保举的做法有以下几种:
创立使用法式的公有设置文件

当需求指定多个使用法式设置时,保举利用该办法。详细的做法十分复杂,只需求界说相似以下的文件便可(假定上面的内容保留到文件 APP/Config/MY_APP_INF.php)。
  1. <?phpreturn array( 'defaultController' => 'UserCenter', 'urlLowerChar' => false, 'dispatcher' => 'FLEA_Dispatcher_Auth', 'dbDSN' => array( 'driver' => 'mysql', 'host' => 'localhost', 'login' => 'root', 'password' =>空字符串, 'database' => 'test', ),);?>
复制代码
然后在使用法式的进口文件 index.php 中挪用 run() 函数的代码前,增添一行 register_app_inf('APP/Config/MY_APP_INF.php') 便可。例如:
  1. <?phprequire('FLEA/FLEA.php');register_app_inf('APP/Config/MY_APP_INF.php');run();?>
复制代码
直接在进口文件中指定设置

关于大批的设置,可以在进口文件中直接用 set_app_inf() 函数指定。例如:
  1. <?phprequire('FLEA/FLEA.php');set_app_inf('defaultController', 'UserCenter');run();?>
复制代码

                               
登录/注册后可看大图
不论采取哪种体例,主要的都是必需在 run() 之前就指定好使用法式设置。

默许的使用法式设置

默许的使用法式设置供应了合适罕见使用法式运转需求的设置。上面分类列出这些设置的名字和具体申明。
中心设置装备摆设


  • namespace 使用法式的默许名字空间,默许值为空字符串 这个设置会影响到使用法式一切类的称号界说。例如 namespace 设置为 FOO 时,使用法式一切掌握器、模子的类名字都要加上前缀 FOO_。酿成诸如 FOO_Controller_Default、FOO_Model_News 等。
    为了让你的代码可以更轻易的在其他使用法式中复用,最好将 namespace 设置为空字符串。
  • controllerAccessor 唆使掌握器的 URL 参数名,默许值为 controller 这个设置指定在 URL 查询参数中,用甚么名字的参数指定掌握器名字。例如 controllerAccessor 设置为 “ctl” 时,就必需用 index.php?ctl=MyController 来指定要挪用的掌握器。
  • defaultController 唆使默许掌握器的名字,默许值为 Default 当 url 参数中没有指定要挪用的掌握器时,将根据 defaultController 的设置挪用默许的掌握器。
  • actionAccessordefaultAction,默许值分离为 action 和 index 这两个设置的感化和 controllerAccessordefaultController 相似。只不外用于指定掌握器举措的参数名和默许举措名。
  • urlMode 指定 URL 剖析和机关形式,默许值为 URL_STANDARD URL 的剖析和机关形式,今朝撑持三种,分离是:URL_STANDARD、URL_PATHINFO 和 URL_REWRITE。
    URL_STANDARD 形式中,URL 参数采取采取尺度的体例,例如 index.php?controller=MyController&action=MyAction&class_id=2&sort=1
    关于 URL_PATHINFO 和 URL_REWRITE 的具体申明,请参考利用 PATHINFO 和 URL 重写。
  • urlLowerChar 唆使是不是将 url 参数中包括的掌握器名字和举措名字强迫转为小写字符,默许值为 false 关于 Windows 体系来讲,这个设置可有可无。而关于 Linux/Unix 体系来讲,这个设置会关系到掌握器类界说文件的定名。
    urlLowerChar 为 true 时,掌握器名字会被转为小写字符,而该掌握器的类名字除第一个字母为大写外,其他全为小写。例如掌握器名为 MyController,实践的掌握器类称号为 Mycontroller,对应的类界说文件为 Mycontroller.php。
    urlLowerChar 为 false 时,掌握器名字和掌握器的类名字完整对应,例如掌握器名为 QuickBenchmark,实践的掌握器类称号为 QuickBenchmark,对应的类界说文件为 QuickBenchmark.php。
  • controllerClassPrefix 唆使掌握器类称号前缀,默许值为 Controller_
  • actionMethodPrefixactionMethodSuffix 唆使掌握器举措的办法名要加上的前缀和后缀,默许值分离为 action 和空字符串 利用前缀和后缀可以,让掌握器举措办法的称号和掌握器中的其他办法区分开来。同时也能够防止有意中形成掌握器内的公有办法被阅读器会见到。
  • dispatcher 唆使使用法式要利用的 URL 调剂器,默许值为 FLEA_Dispatcher_Simple URL 调剂器剖析 URL 参数,决意要挪用的掌握器和掌握器举措办法,最初挪用掌握器举措办法。默许的 FLEA_Dispatcher_Simple 是一个复杂的调剂器,仅仅是剖析 URL 参数,然后完成挪用任务。而更庞杂的 FLEA_Dispatcher_Auth 则可以联合 FleaPHP 自带的 RBAC(基于脚色的会见掌握)组件完成会见掌握功效。
    假如开辟者本人编写了调剂器,那末修正这个设置便可让使用法式利用开辟者本人编写的调剂器。
  • dispatcherFailedCallback 唆使调剂器调剂掉败后,要挪用的处置法式,默许值为 null 假如但愿使用法式处置调剂掉败的情形(例如掌握器或掌握器办法不存在),则需求掩盖这个设置。
  1. <?phpset_app_inf('dispatcherFailedCallback', 'appDispatcherFailedHandler');?>
复制代码

  • internalCacheDir 唆使 FleaPHP 外部及 cache 系列函数利用的缓存目次,默许值为 FLEA/_Cache/ 目次


  • autoLoad 唆使要主动载入的文件,默许载入 FLEA_Helper_Array.php、FLEA_Helper_Html.php 和 FLEA_Controller_Action.php 三个文件 这个设置必需是一个数组,数组中每个项目为要主动载入的文件。
  • sessionProvider 唆使要利用的 session 办事供应法式,默许值为 null 假如设置为 null,则暗示利用 PHP 自带的 session 办事。
  • autoSessionStart 唆使是不是主动升引 session 撑持,默许值为 true 假如该设置为 true,则每次 FleaPHP 框架初始化后城市主动履行 session_start() 函数。
  • requestFilters 唆使利用哪些过滤器对 HTTP 恳求停止过滤,默许值为空数组 和 autoLoad 设置相似,该设置必需为数组。但数组中每个项目为要运转的过滤器类名字。过滤器依照呈现在数组中的按次初始化和运转。
    每个过滤器实践上都是一个剧本,无需求完成为一个类。可以参考 FLEA/Filter/ 目次中的过滤器代码完成本人的过滤器。

                                   
    登录/注册后可看大图
    FleaPHP 初始化时,会依据 PHP 运转情况设置和使用法式设置来决意是不是主动运转 FLEA_Filter_MagicQuotes 和 FLEA_Filter_Uri 过滤器。因而开辟者不该该在 requestFilters 设置中挪用这两个过滤器
数据库相干


  • dbDSN 数据库毗连设置,必需是数组,默许值为 null dbDSN 是 FleaPHP 使用法式默许的数据库毗连设置。准确指定该设置后,FleaPHP 会在使用法式需求会见数据库时测验考试主动毗连数据库。
    dbDSN 数组中每一个选项的寄义以下:

    • driver 数据库驱动类型,例如 mysql、pgsql 等;
    • host 数据库地点办事器,凡是为 localhost 或 127.0.0.1
    • port 毗连数据库的端口,凡是无需指定
    • login 毗连时利用的用户名
    • password 毗连时利用的暗码
    • database 毗连后要利用的数据库名
    • charset 字符集设置,假如没有设置该选项,则以使用法式设置 databaseCharset 为准
    • options 附加的毗连选项
    典范的 dbDSN 设置以下:

  1. <?phpset_app_inf('dbDSN', array( 'driver' => 'mysql', 'host' => 'localhost', 'login' => 'username', 'password' => 'password', 'database' => 'test_db', ));?>
复制代码

  • dbTDGAutoInit 唆使机关表数据进口对象时,是不是主动毗连到数据库,默许值为 true 假如你但愿本人掌握数据库毗连,那末可以将该设置指定为 false。
  • dbTablePrefix 唆使数据表的全局前缀,默许为空字符串,该设置会影响到一切数据表


  • dbValidationProvider 唆使表数据进口要利用的数据验证办事对象,默许值为 FLEA_Helper_Validation
视图和模版相干


  • view 唆使要利用的模板引擎,PHP 暗示利用 PHP 言语自己作模板引擎,默许值为 PHP 今朝 FleaPHP 供应了 FLEA_View_Simple 模版引擎和 FLEA_View_Smarty 模版引擎。个中 FLEA_View_Smarty 实践上是一个毗连器,用于毗连 Smarty 模版引擎。
  • viewConfig 指定模板引擎要利用的设置装备摆设信息,默许为 null 分歧模版引擎能够需求分歧的设置装备摆设,可以用 viewConfig 设置来指定。
I18N

有关 FleaPHP 对 I18N 撑持的具体信息,请参考开辟指南的相干章节。

  • responseCharset 唆使 FleaPHP 输入内容的利用的编码,默许值为 gb2312 FleaPHP 中心自己其实不假定要处置的内容采取甚么编码,也不会主动将输出内容转换为输入内容指定的编码。responseCharset 设置仅仅是用来作为一个参考,出格是 autoResponseHeader 设置为 true 时,FleaPHP 会主动送出 Content-Type: text/html; charset=xxxxx 的 HTTP 头信息。
  • databaseCharset 唆使当 FleaPHP 毗连数据库时,要指定的编码,默许值为 gb2312 很多较为初级的数据库,例如 PostgreSQL、MySQL 4.1/5.x、Oracle 等,都答应在数据库中保留分歧编码的数据。因而开辟者要准确设置 databaseCharset 设置,以便 FleaPHP 在毗连数据库时可以准确设置编码,防止乱码成绩。
    关于较老的数据库,例如 MySQL 3.x/4.0,这个设置没成心义。
  • autoResponseHeader 唆使是不是主动输入 Content-Type: text/html; charset=xxxxx 的 HTTP 头信息,默许值为 true 当该设置为 true 时,FleaPHP 会在初始化时主动输入一个 HTTP 头信息,以指定使用法式输入内容的编码。详细指定甚么编码,由 responseCharset 设置决意。
    关于大局部办事器,启用该设置可以免呈现阅读器没法准确辨认输入内容编码的成绩。但在某些办事器情况中,启用该设置会招致呈现没法输入静态图象等成绩。
  • charsetConstant 唆使是不是主动界说 RESPONSE_CHARSET、DATABASE_CHARSET 等常量,默许值为 true 当该设置为 true 时,FleaPHP 会在初始化时依据 responseCharsetdatabaseCharset 设置分离界说 RESPONSE_CHARSET 和 DATABASE_CHARSET 常量。使用法式可以用这两个常量简化一些开辟。
  • multiLangaugeSupport 唆使是不是启用多言语撑持,默许值为 false 当该设置为 true 时,会主动载入由 languageSupportProvider 指定的多言语撑持办事供应法式。
  • languageSupportProvider 指定供应多言语撑持的供应法式,默许值为 FLEA_Com_Language FLEA_Com_Language 是 FleaPHP 自带的多言语撑持办事供应法式。
  • languageFilesDir 唆使言语文件的保留地位,默许值为 null 当利用多言语撑持时,必需修正该设置,指向一个保留一切言语文件的目次。
    言语文件依照“言语/字典名.php”的目次布局存储,例如 languageFilesDir 设置为 /var/www/test/languages,则言语文件的实践文件名便可能是:/var/www/test/languages/chinese-gb2312/user_interface.php。
  • defaultLanguage 唆使默许言语,默许值为 chinese-gb2312 当载入言语文件时假如没有指定言语参数,则会从 defaultLanguage 指定的言语目次下载入字典文件。
  • autoLoadLanguage 唆使要主动载入的言语字典,默许值为 null autoLoadLanguage 可所以数组,个中每项是一个要载入的字典名。或是一个用“,”分隔多个字典名的字符串。
FLEA_Dispatcher_Auth 和 RBAC 组件


  • dispatcherAuthProvider 唆使调剂器要利用的验证办事供应法式,默许值为 FLEA_Com_RBAC FLEA_Com_RBAC 供应了 check() 办法,让调剂器经由过程挪用该办法来反省以后倡议恳求的用户是不是有权限会见指定的掌握器和掌握器举措办法。假如开辟者要编写本人的验证办事供应法式,就必需完成 check() 办法。假如利用开辟者本人编写的调剂器,也能够经由过程该设置来指定验证办事供应法式。
    check() 办法的原型是:function check($roles, $ACT)
  • defaultControllerACTFile 唆使 RBAC 组件要利用的默许 ACT 文件,默许值为空字符串 经由过程该设置,可觉得多个掌握器指定 ACT(会见掌握表),而不需求为每个掌握器都供应一个 .act.php 文件。注重,该设置指定的文件必需是完全途径,或相对使用法式进口(index.php)的绝对途径。
  • autoQueryDefaultACTFile 唆使 RBAC 组件是不是在没有找到掌握器的 ACT 文件时,是不是从默许 ACT 文件中查询掌握器的 ACT,默许值为 false
  • controllerACTLoadWarning 唆使没有找到掌握器的 ACT 时,是不是显示正告信息,默许值为 true
  • defaultControllerACT 唆使当没无为掌握器供应 ACT 时,要利用的默许 ACT,默许值为 null
  • dispatcherAuthFailedCallback 唆使用户没有权限会见掌握器或掌握器办法时,要挪用的处置法式,默许值为 null
  • RBACSessionKey 唆使 RBAC 组件用甚么键名在 session 中保留用户数据,默许值为 RBAC_USERDATA 假如在一个域名下同时运转多个使用法式,请务必为每个使用法式利用本人举世无双的键名。
日记办事和毛病处置


  • logEnabled 唆使是不是启用日记办事,默许值为 false 假如该设置为 true,则会主动载入由 logProvider 设置指定的日记办事供应法式。
  • logProvider 唆使日记办事的法式,默许值为 FLEA_Com_Log
  • logFileDir 唆使用甚么目次保留日记文件,默许值为 null 最好将日记保留在阅读器没法会见的目次中。
  • logFilename 唆使用甚么文件名保留日记,默许值为 access.log
  • logFileMaxSize 唆使当日记文件超越几何 KB 时,主动创立新的日记文件,单元是 KB,不克不及小于 512KB,默许值为 4096
  • logErrorLevel 唆使哪些级其余毛病要保留到日记中,默许值为 ‚warning, error, exception‘
  • displayErrors 唆使是不是显示毛病信息,默许值为 true
  • friendlyErrorsMessage 唆使是不是显示友爱的毛病信息,默许值为 true

php   manual(PHP手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。
小妖女 该用户已被删除
沙发
发表于 2015-2-4 09:54:48 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
分手快乐 该用户已被删除
板凳
发表于 2015-2-6 02:25:01 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
山那边是海 该用户已被删除
地板
发表于 2015-2-15 01:17:02 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
海妖 该用户已被删除
5#
发表于 2015-3-4 10:50:04 | 只看该作者
爱上php,他也会爱上你。
不帅 该用户已被删除
6#
发表于 2015-3-8 22:19:32 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-14 13:14:31 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-15 02:26:16 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
变相怪杰 该用户已被删除
9#
发表于 2015-3-18 21:23:08 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
再见西城 该用户已被删除
10#
发表于 2015-3-22 00:38:33 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
飘灵儿 该用户已被删除
11#
发表于 2015-4-2 12:25:43 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
因胸联盟 该用户已被删除
12#
发表于 2015-4-5 12:12:50 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
admin 该用户已被删除
13#
发表于 2015-4-6 10:38:43 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
活着的死人 该用户已被删除
14#
 楼主| 发表于 2015-4-13 21:30:14 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
爱飞 该用户已被删除
15#
发表于 2015-4-18 15:31:22 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
灵魂腐蚀 该用户已被删除
16#
发表于 2015-4-21 13:29:11 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
再现理想 该用户已被删除
17#
发表于 2015-5-6 11:08:31 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
兰色精灵 该用户已被删除
18#
发表于 2015-6-6 05:06:22 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
深爱那片海 该用户已被删除
19#
发表于 2015-6-20 05:02:52 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
老尸 该用户已被删除
20#
发表于 2015-6-24 11:51:50 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 09:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表