的工厂。yml配置文件
工厂核心对象所需的框架在任何请求的生命。他们的配置factories.yml
配置文件和总是通过sfContext
对象:
/ /获取用户工厂sfContext::getInstance()- >getUser();
主要的factories.yml
为应用程序配置文件中可以找到应用程序/ APP_NAME / config /
目录中。
正如简介中所讨论的,factories.yml
文件是environment-aware的好处,配置级联机制,可以包括常量。
的factories.yml
配置文件包含一个名为工厂列表:
FACTORY_1: #工厂1 FACTORY_2的定义:#工厂的定义2 #…
支持工厂的名称是:控制器
,日志记录器
,i18n
,请求
,响应
,路由
,存储
,用户
,view_cache
,view_cache_manager
。
当sfContext
初始化的工厂,它读取factories.yml
工厂的文件类名(类
)和参数(参数
)用于配置工厂对象:
FACTORY_NAME:类:CLASS_NAME参数:{数组参数}
能够定制工厂意味着您可以使用一个自定义类symfony核心对象而不是默认的一个。ob娱乐下载您还可以更改默认行为这些类的自定义参数发送给他们。
如果工厂类不能被自动装载,文件
路径可以定义并将自动包括在工厂创建:
FACTORY_NAME:类:CLASS_NAME文件:ABSOLUTE_PATH_TO_FILE
请注意
的factories.yml
配置文件缓存PHP文件;这个过程是自动管理的sfFactoryConfigHandler
类。
工厂
梅勒
sfContext访问器:背景- > getMailer ()
默认配置:
梅勒:类:sfMailer参数:日志:% SF_LOGGING_ENABLED %字符集:% SF_CHARSET % delivery_strategy:实时交通:类:Swift_SmtpTransport参数:主持人:本地主机端口:25加密:~用户名:密码:~ ~
默认配置测试
环境:
梅勒:param: delivery_strategy:没有
默认配置dev
环境:
梅勒:param: delivery_strategy:没有
字符集
的字符集
选择邮件消息的定义要使用的字符集。默认情况下,它使用字符集
设置从settings.yml
。
delivery_strategy
的delivery_strategy
选项定义了如何电子邮件消息被交付的梅勒。四个策略可用默认情况下,哪些应该适合所有常见的需求:
实时
:在即时消息被发送。single_address
:消息被发送到一个地址。线轴
:存储在队列的消息。没有一个
:消息被简单地忽略。
delivery_address
的delivery_address
选择时定义了所有消息的接收者delivery_strategy
被设置为single_address
。
spool_class
的spool_class
选择定义轴类时使用delivery_strategy
被设置为线轴
:
Swift_FileSpool
:信息是存储在文件系统上。Swift_DoctrineSpool
:信息存储在一个理论模型。Swift_PropelSpool
:信息存储在一个驱动模型。
请注意
线轴被实例化时,spool_arguments
选择作为构造函数参数。
spool_arguments
的spool_arguments
线轴的选项定义了构造函数参数。这是内置的队列类的选项:
Swift_FileSpool
:- 消息队列目录的绝对路径(存储在该目录)
Swift_DoctrineSpool
:理论模型用于存储信息(
MailMessage
默认情况下)列名用于信息存储(
消息
默认情况下)的方法调用来检索消息发送(可选)。
Swift_PropelSpool
:推动模型用于存储信息(
MailMessage
默认情况下)列名用于信息存储(
消息
默认情况下)的方法调用来检索消息发送(可选)。它接收当前标准作为参数。
下面的配置显示了一个典型的配置原则线轴:
#配置在工厂。yml梅勒:类:sfMailer参数:delivery_strategy:线轴spool_class: Swift_DoctrineSpool spool_arguments: [MailMessage、消息getSpooledMessages]
运输
的运输
选项定义了运输使用实际发送电子邮件消息。
的类
设置可以实现从任何类Swift_Transport
,三个默认情况下提供:
Swift_SmtpTransport
:使用一个SMTP服务器发送消息。Swift_SendmailTransport
:使用sendmail
发送消息。Swift_MailTransport
:使用原生PHP邮件()
函数来发送消息。Swift_NullTransport
:完全禁用传输(有用没有一个
策略绕过连接到邮件服务器)。
您可以进一步配置传输通过设置参数
设置。的“运输类型”斯威夫特的梅勒官方文档描述了所有你需要知道的关于内置的运输类及其不同的参数欧宝官网下载app。
请求
sfContext访问器:背景- > getRequest ()
默认配置:
要求:类:sfWebRequest参数:日志:% SF_LOGGING_ENABLED % path_info_array:服务器path_info_key: PATH_INFO relative_url_root: ~格式:txt:文本/纯js:[应用程序/ javascript、应用程序/ x-javascript text / javascript] css:文本/ css json: (application / json, application / x-json) xml: [text / xml、application / xml应用程序/ x-xml] rdf: application / rdf + xml atom: application / atom + xml
path_info_array
的path_info_array
选项定义了全球PHP数组,用于检索信息。在一些你可能想要修改默认配置服务器
价值ENV
。
path_info_key
的path_info_key
选项定义的关键PATH_INFO
可以找到的信息。
如果你使用IIS重写模块IIFR
或ISAPI
,您可能需要更改这个值HTTP_X_REWRITE_URL
。
格式
的格式
选择定义一个文件扩展名及其对应的数组内容类型
年代。它使用框架自动管理内容类型
基于请求URI的响应,扩展。
relative_url_root
的relative_url_root
选项定义了URL的一部分在前端控制器。大多数时候,这是由框架自动检测,不需要更改。
响应
sfContext访问器:背景- > getResponse ()
默认配置:
回应:类:sfWebResponse参数:日志:% SF_LOGGING_ENABLED %字符集:% SF_CHARSET % send_http_headers:真的
默认配置测试
环境:
响应:类:sfWebResponse参数:send_http_headers:假的
send_http_headers
的send_http_headers
选项指定响应是否应该发送HTTP响应头和响应内容。该设置主要是用于测试,因为头被发送的头()
PHP函数发送警告如果你试图发送头后输出。
字符集
的字符集
为响应选项定义要使用的字符集。默认情况下,它使用字符集
设置从settings.yml
大部分时间,这是你想要的东西。
http_protocol
的http_protocol
选项定义了用于响应HTTP协议版本。默认情况下,它会检查$ _SERVER (“SERVER_PROTOCOL”)
如果可用或默认值HTTP / 1.0
。
用户
sfContext访问器:背景- > getUser ()
默认配置:
用户:类:myUser参数:超时:1800日志:% SF_LOGGING_ENABLED % use_flash:真正的default_culture: % SF_DEFAULT_CULTURE %
请注意
默认情况下,myUser
类继承自sfBasicSecurityUser
中,可以配置security.yml
配置文件。
超时
的超时
选项定义了用户身份验证超时。是不相关的会话超时。默认设置自动unauthenticates不活动的用户后30分钟。
该设置只使用由用户类继承sfBasicSecurityUser
基类,生成的myUser
类。
请注意
为了避免意外的行为,用户类自动部队的最大寿命会话垃圾收集器(session.gc_maxlifetime
)要大于超时。
use_flash
的use_flash
选择启用或禁用flash组件。
default_culture
的default_culture
选项定义默认文化用于用户首次来到这个网站。默认情况下,它使用default_culture
设置从settings.yml
大部分时间,这是你想要的东西。
谨慎
如果你改变default_culture
设置在factories.yml
或settings.yml
在您的浏览器中,你需要明确你的饼干来检查结果。
存储
用户所使用的存储工厂工厂坚持用户数据之间的HTTP请求。
sfContext访问器:背景- > getStorage ()
默认配置:
存储类:sfSessionStorage参数:session_name: symfonyob娱乐下载
默认配置测试
环境:
存储类:sfSessionTestStorage参数:session_path: % SF_TEST_CACHE_DIR % /会话
auto_start
的auto_start
选择启用或禁用的PHP(通过会话自动起动特性session_start ()
功能)。
session_name
的session_name
选项定义了cookie的名称使用symfony存储用户会话。ob娱乐下载默认情况下,这个名字ob娱乐下载
,这意味着所有应用程序共享相同的饼干(以及相应的身份验证和授权)。
session_set_cookie_params ()
参数
的存储
工厂电话session_set_cookie_params ()
函数的值以下选项:
session_cookie_lifetime
:定义的会话cookie,一生在秒。session_cookie_path
:路径在cookie域上工作。使用一个斜杠(/
域上的所有路径。session_cookie_domain
例如:Cookie域www.php.net
。在所有子域然后让饼干可见域必须与一个点前缀.php.net
。session_cookie_secure
:如果真正的
饼干只能通过安全连接发送。session_cookie_httponly
:如果设置为真正的
PHP将试图发送httponly
当设置会话cookie国旗。
请注意
每个选项的描述来自于session_set_cookie_params ()
在PHP网站的功能描述
session_cache_limiter
如果session_cache_limiter
选项设置为零
(这是默认的),会话缓存PHP设定的限幅值将被自动根据php . ini
配置文件。对于所有其他值,PHP的session_cache_limiter ()
函数被调用和选项值作为参数传递。
数据库特定的选项
当使用一个存储的继承sfDatabaseSessionStorage
类,几个额外的选项可用:
数据库
:数据库名称(必需)db_table
:表名(要求)db_id_col
:主键列名称(sess_id
默认情况下)db_data_col
:数据列名称(sess_data
默认情况下)db_time_col
:列名的时间(sess_time
默认情况下)
view_cache_manager
sfContext访问器:背景- > getViewCacheManager ()
默认配置:
view_cache_manager:类:sfViewCacheManager参数:cache_key_use_vary_headers:真的cache_key_use_host_name:真的
谨慎
这个工厂只是如果创建的缓存
设置被设置为真正的
。
大多数配置这个工厂是通过view_cache
工厂,它定义了底层的缓存对象视图使用的缓存管理器。
cache_key_use_vary_headers
的cache_key_use_vary_headers
选项指定如果缓存键应包括不同的标题部分。在实践中,它说,如果页面缓存应该依赖于HTTP头,中指定不同
缓存参数(默认值:真正的
)。
cache_key_use_host_name
的cache_key_use_host_name
选项指定如果缓存键应该包括主机名部分。在实践中,它说,如果页面缓存应该依赖于主机名(默认值:真正的
)。
view_cache
sfContext访问器:没有(直接使用的view_cache_manager
工厂)
默认配置:
view_cache:类:sfFileCache参数:automatic_cleaning_factor: 0 cache_dir: % SF_TEMPLATE_CACHE_DIR %一生:86400的前缀:% SF_APP_DIR % /模板
谨慎
这个工厂只是如果定义缓存
设置被设置为真正的
。
的view_cache
工厂定义缓存类必须继承sfCache
(见缓存部分获取更多信息)。
i18n
sfContext访问器:背景- > getI18N ()
默认配置:
i18n:类:sfI18N参数:来源:XLIFF调试:假untranslated_prefix:“[T]”untranslated_suffix:“[/ T]”缓存:类:sfFileCache参数:automatic_cleaning_factor: 0 cache_dir: % SF_I18N_CACHE_DIR %一生:31556926的前缀:% SF_APP_DIR % / i18n
谨慎
这个工厂只是如果定义i18n
设置被设置为真正的
。
源
的源
选项定义了翻译的容器类型。
内置的容器:XLIFF
,SQLite
,MySQL
,gettext
。
调试
的调试
选项设置调试模式。如果设置为真正的
消息,un-translated装饰着一个前缀和后缀(见下文)。
untranslated_prefix
的untranslated_prefix
定义了一个前缀用于un-translated消息。
untranslated_suffix
的untranslated_suffix
定义了一个后缀用于un-translated消息。
缓存
的缓存
选项定义了一个匿名的工厂用于缓存i18n数据缓存(参见缓存部分获取更多信息)。
路由
sfContext访问器:背景- > getRouting ()
默认配置:
路由:类:sfPatternRouting参数:load_configuration:真正的后缀:“default_module:默认default_action:指数调试:% SF_DEBUG %日志:% SF_LOGGING_ENABLED % generate_shortest_url:假extra_parameters_as_query_string:假缓存:~
variable_prefixes
默认的::
的variable_prefixes
选项定义了变量名的字符列表开始在路由模式。
segment_separators
默认的:/
和。
的segment_separators
选择定义路线段分隔符的列表。大多数时候,你不想覆盖整个路由这个选项,但是对于特定的路线。
generate_shortest_url
默认的:真正的
对于新项目,假
升级项目
如果设置为真正的
,generate_shortest_url
选项会告诉路由系统生成可能的最短路线。将其设置为假
如果你想让你的路线是向后兼容symfony 1.0和1.1。ob娱乐下载
extra_parameters_as_query_string
默认的:真正的
对于新项目,假
升级项目
当一些参数不用于生成路线,extra_parameters_as_query_string
允许将这些额外的参数转换为一个查询字符串。将其设置为假
symfony的行为退回1.0或1.1。ob娱乐下载在这些版本中,额外的参数只是忽视了路由系统。
缓存
默认的:没有
的缓存
缓存选项定义了一个匿名的工厂用于缓存路由配置和数据(见缓存部分获取更多信息)。
后缀
默认的:没有
默认后缀用于所有路线。不建议使用这个选项,不再有用了。
load_configuration
默认的:真正的
的load_configuration
选择定义是否routing.yml
文件必须自动加载和解析。将其设置为假
如果你想使用symfony的路由系统之外的一个symfony项目。ob娱乐下载
lazy_routes_deserialize
默认的:假
如果设置为真正的
,lazy_routes_deserialize
的设置使懒惰unserialization路由缓存。它可以提高应用程序的性能,如果你有大量的路线,如果第一批的路线最匹配的。强烈建议测试环境部署到生产环境之前,在某些情况下,因为它会伤害你的表现。
lookup_cache_dedicated_keys
默认的:假
的lookup_cache_dedicated_keys
设置决定路由缓存是如何构建的。当设置为假
,缓存存储为一个大的价值;当设置为真正的
每个通道都有自己的缓存存储。这个设置是一个性能优化设置。
作为一个经验法则,设置假
最好在使用一个基于文件的缓存类(sfFileCache
例如),并设置它真正的
最好是在使用一个基于内存的缓存类(sfAPCCache
例如)。
日志记录器
sfContext访问器:背景- > getlog ()
默认配置:
logger类:sfAggregateLogger参数:级别:调试伐木工:sf_web_debug:类:sfWebDebugLogger参数:水平:调试条件:% sf_web_debug % xdebug_logging:假web_debug_class: sfWebDebug sf_file_debug:类:sfFileLogger参数:级别:调试文件:% SF_LOG_DIR % / % SF_APP % _ % SF_ENVIRONMENT % . log
默认配置刺激
环境:
logger类:sfNoLogger参数:级别:呃伐木工:~
如果你不使用sfAggregateLogger
,别忘了指定一个零
值伐木工人
参数。
谨慎
这个工厂总是定义,但是日志只发生如果logging_enabled
设置被设置为真正的
。
水平
的水平
选择定义日志记录器的水平。
可能的值:紧急情况
,警报
,暴击
,犯错
,警告
,请注意
,信息
,或调试
。
伐木工人
的伐木工人
选项定义了一个伐木工人使用的列表。列表是一个匿名数组记录器工厂。
内置logger类:sfConsoleLogger
,sfFileLogger
,sfNoLogger
,sfStreamLogger
,sfVarLogger
。
控制器
sfContext访问器:背景- > getController ()
默认配置:
控制器:类:sfFrontWebController
匿名缓存工厂
几家工厂(view_cache
,i18n
,路由
)可以利用缓存对象中定义它们的配置。缓存对象的配置为所有工厂是相似的。的缓存
主要定义了一个匿名的缓存工厂。像任何其他工厂,需要类
和一个参数
条目。的参数
缓存条目可以采取任何选项可用于给定的类。
的前缀
选择是最重要的一个,因为它允许在不同环境之间共享或单独的缓存/应用程序/项目。
内置缓存类:sfAPCCache
,sfEAcceleratorCache
,sfFileCache
,sfMemcacheCache
,sfNoCache
,sfSQLiteCache
,sfXCacheCache
。
这项工作在Creative Commons许可Attribution-Share都3.0 Unported许可执照。