云虚机是什么经济版的php支持YAF吗

现在位置:
pecl里面的yaf最新测试版http://pecl.php.net/package/Yaf
要先安装pcre, Debian ubuntu执行
&span sudo apt-get &span install libpcre3 libpcre3-dev
$ &span sudo pecl &span install apc
下载Yaf,解压后进入yaf目录(有c文件的目录),执行以下命令:
&span $ phpize
$ ./configure --with-php-config=/usr/bin/php-&span config
$ &span make&span
$ &span sudo &span make &span install
&span 路径/usr/bin/php-config要根据系统所配置的路径。
配置php.ini文件
在php.ini文件末尾添加
&yaf Framework
extension=&span yaf.so
yaf.environ=&span &&span product&span &&span
yaf.use_spl_autoload=&span 1&span
yaf.use_namespace=&span 1
表 2.2. Yaf 配置选项
选项名称默认值可修改范围更新记录
yaf.environ
PHP_INI_ALL
环境名称, 当用INI作为Yaf的配置文件时, 这个指明了Yaf将要在INI配置中读取的节的名字
yaf.library
PHP_INI_ALL
全局类库的目录路径
yaf.cache_config
PHP_INI_SYSTEM
是否缓存配置文件(只针对INI配置文件生效), 打开此选项可在复杂配置的情况下提高性能
yaf.name_suffix
PHP_INI_ALL
在处理Controller, Action, Plugin, Model的时候, 类名中关键信息是否是后缀式, 比如UserModel, 而在前缀模式下则是ModelUser
yaf.name_separator
PHP_INI_ALL
在处理Controller, Action, Plugin, Model的时候, 前缀和名字之间的分隔符, 默认为空, 也就是UserPlugin, 加入设置为"_", 则判断的依据就会变成:"User_Plugin", 这个主要是为了兼容ST已有的命名规范
yaf.forward_limit
PHP_INI_ALL
forward最大嵌套深度
yaf.use_namespace
PHP_INI_SYSTEM
开启的情况下, Yaf将会使用命名空间方式注册自己的类, 比如Yaf_Application将会变成YafApplication
yaf.use_spl_autoload
PHP_INI_ALL
开启的情况下, Yaf在加载不成功的情况下, 会继续让PHP的自动加载函数加载, 从性能考虑, 除非特殊情况, 否则保持这个选项关闭PHP扩展框架之Yaf框架的安装与使用_php实例
作者:用户
本文讲的是PHP扩展框架之Yaf框架的安装与使用_php实例,
windows下载扩展:https://pecl.php.net/package/yaf/2.2.9/windows
根据自己的电脑系统和php的版本号选择,NTS是线程不安全,TS是线程安全
根据phpinfo(),选择是否是线程
windows下载扩展:https://pecl.php.net/package/yaf/2.2.9/windows
根据自己的电脑系统和php的版本号选择,NTS是线程不安全,TS是线程安全
根据phpinfo(),选择是否是线程安全
把php_yaf.dll扩展放到ext目录下
重启apache
新建目录public,新建文件index.php入口文件
define("APP_PATH", realpath(dirname(__FILE__) . '/../')); /* 指向public的上一级 */
$app = new Yaf_Application(APP_PATH . "/conf/application.ini");
$app-&run();
新建目录conf,新建文件application.ini
;支持直接写PHP中的已定义常量
application.directory=APP_PATH "/application/"
新建目录application/controllers,新建文件index.php
class IndexController extends Yaf_Controller_Abstract {
public function indexAction() {//默认Action
$this-&getView()-&assign("content", "Hello Yaf");
新建目录views/index,新建文件index.phtml
&h1&&?php echo $?&&/h1&
以上所述是小编给大家介绍的PHP扩展框架之Yaf框架的安装与使用的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对云栖社区网站的支持!
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
yaf框架安装
yaf框架使用
yaf框架开发实例、php yaf框架、php yaf扩展、yaf框架能使用php7吗、php 安装yaf扩展,以便于您获取更多的相关知识。
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
,所有相关内容均不代表云栖社区的意见!> 博客详情
yaf路由组件有两个部分:路由器(Yaf_Router)和路由协议(Yaf_Route_Abstract) 路由协议事实上主要负责匹配我们预先定义好的路由协议,意思就是我们只有一个路由器,但我们可以有许多路由协议. 路由器主要负责管理和运行路由链,它根据路由协议栈倒序依次调用各个路由协议, 一直到某一个路由协议返回成功以后, 就匹配成功,路由的过程发生派遣过程的最开始,并且路由解析仅仅发生一次.路由过程在何控制器动作(Controller, Action)被派遣之前被执行,一旦路由成功,路由器将会把解析出得到的信息传递给请求对象(Yaf_Request_Abstract object), 这些信息包括moduel、controller、action、用户params等. 然后派遣器(Yaf_Dispatcher)就会按照这些信息派遣正确的控制器动作. 路由器也有插件钩子,就是routeStartup和routeShutdown,他们在路由解析前后分别被调用.(摘自 yaf手册)
目录结构如下: . ├── application │&& ├── actions │&& │&& └── Index.php │&& ├── Bootstrap.php │&& ├── cache │&& │&& └── templates_c │&& ├── controllers │&& │&& ├── Com.php │&& │&& ├── Error.php │&& │&& ├── Index.php │&& │&& ├── Net.php │&& │&& └── Person.php │&& ├── library │&& │&& ├── Config │&& │&& ├── Db │&& │&& │&& ├── Base.php │&& │&& │&& ├── MultiTable.php │&& │&& │&& └── Table.php │&& │&& ├── Smarty │&& │&& │&& ├── Adapter.bak.php │&& │&& │&& ├── Adapter.php │&& │&& │&& ├── debug.tpl │&& │&& │&& ├── debug.tpl.bak │&& │&& │&& ├── plugins │&& │&& │&& ├── SmartyBC.class.php │&& │&& │&& ├── Smarty.class.php │&& │&& │&& └── sysplugins │&& │&& └── Sys │&& │&&&&&& ├── Box.php │&& │&&&&&& ├── Controller │&& │&&&&&& ├── Filter.php │&& │&&&&&& ├── Fun.php │&& │&&&&&& ├── Local.php │&& │&&&&&& ├── Mailer.php │&& │&&&&&& ├── Memcache.php │&& │&&&&&& ├── Mongodb.php │&& │&&&&&& ├── Phpmailerexception.php │&& │&&&&&& ├── Rest.php │&& │&&&&&& └── Smarty.php │&& ├── models │&& │&& └── Gongchanginfo │&& │&&&&&& ├── gccompany.php~ │&& │&&&&&& ├── Gccompany.php │&& │&&&&&& └── Gccompany.php~ │&& ├── modules │&& │&& └── User │&& │&&&&&& ├── controllers │&& │&&&&&& └── views │&& ├── plugins │&& │&& └── Sample.php │&& └── views │&&&&&& ├── debug.tpl │&&&&&& ├── extends.html │&&&&&& ├── index.html │&&&&&& └── index.html~ ├── cache │&& └── df73b85a38d155c75edced0ea40953d7cfc85c87.index.html.php ├── cli.php ├── conf │&& └── application.ini ├── index.php ├── src │&& ├── log.png │&& └── scc.js ├── templates_c 利用LNMP进行的测试,域名为: 1:默认路由 &默认情况下,路由器是Yaf_Router,路由协议是Yaf_Route_Static,是基于HTTP路由的, 它期望一个请求是HTTP请求并且请求对象是使用Yaf_Request_Http &而Yaf_Router负责分析请求中的request uri, 在去除掉base_uri以后, 得出目标模板, 控制器, 动作.获取到真正的负载路由信息的request_uri片段, 具体的策略是, 根据"/"对request_uri分段, 依次得到Module,Controller,Action, 在得到Module以后, 还需要根据Yaf_Application::$modules来判断Module是否是合法的Module, 如果不是, 则认为Module并没有体现在request_uri中, 而把原Module当做Controller, 原Controller当做Action: &如果在配置文件application.ini的内容中为: &&[common] &&&application.directory&&&&&&&&&&&&&&&& = APPLICATION_PATH"/application/" &&&application.dispatcher.catchException = T出错的时候是否抛出异常 &&&application.dispatcher.catchException = T是否使用默认的异常捕捉 &&&application.cache_config&&&&&&&&&&&&& = 1 &&&application.view.ext&&&&&&&&&&&&&&&&& = "html" &&&application.modules&&&&&&&&&&&&&&&&&& = Index,U声明存在的模块名
&&&;application.library&&&&&&&&&&&&&&&&&& = local &&&;可以定义默认的module controller action
&&&application.dispatcher.defaultModule&&&& = Index &&&application.dispatcher.defaultController = Index &&&application.dispatcher.defaultAction&&&& = index &&&& &如若访问: && 会调用 /application/controllers/下面的Index.php(文件名第一个字母大写)中的indexAction ,不过你可以通过修改application.dispatcher.defaultAction来修改默认调用Action && (必须保证user模块存在)解析的时候 发现user数模块名称index是控制器名称 index是Action名称就会调用 application/modules/User/下面的Index.php
2:Yaf_Route_Simple 路由 && &&public function __initRoute(Yaf_Dispatcher $dispatcher){ &&&//Yaf_Route_Simple 路由 &&&$routeArr = new Yaf_Route_Simple('m','c','a'); &&&$router-&addRoute("name",$routeArr); &&} && &&访问:/?m=user&c=account&a=add ( m 代表模块名称 c 代表控制器 a 代表Action& m、c、a是可以修改为任意的字符的) 3:Yaf_Route_Supervar &&Yaf_Route_Supervar和Yaf_Route_Simple相似, 都是在query string中获取路由信息, 不同的是, 它获取的是一个类似包含整个路由信息的request_uri && &&public function __initRoute(Yaf_Dispatcher $dispatcher){ &&&//Yaf_Route_Supervar 路由 &&&$routeArr = new Yaf_Route_Supervar('r'); &&&$router-&addRoute("name",$routeArr); &&} &访问: 4:Yaf_Route_Regex 正则路由 &在application.ini 中加入: &&;正则路由 &&routes.regex_about.type&&&&&&&&&&&& = "regex" &&routes.regex_about.match&&&&&&&&&&& = "#^/about.html$#" &&routes.regex_about.route.module&&&& = User &&routes.regex_about.route.controller = Index &&routes.regex_about.route.action&&&& = about &&routes.regex_about.map.1&&&&&&&&&&& = name &访问:/about.html
5:Yaf_Route_Rewrite &public function __initRoute(Yaf_Dispatcher $dispatcher){ && //创建一个路由协议实例 &&&&&&&&&& $route = new Yaf_Route_Rewrite('product/:ident',array('module'=&'User','controller' =& 'Index','action' =& 'test')); &&&&&&&&&& //使用路由器装载路由协议 &&&&&&&&&& $router-&addRoute('product', $route); & }
& 访问:/product/34 6:Yaf_Route_Map ??
可以的!等下发到你的邮箱中!!!
&我的服务器中有好几个子站点&这些子站点使用的都是同一套程序吗?
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥PHP扩展框架之Yaf框架的安装与使用
作者:陶士涵
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了PHP扩展框架之Yaf框架的安装与使用的相关资料,具有参考借鉴价值,需要的朋友可以参考下
windows下载扩展:
根据自己的电脑系统和php的版本号选择,NTS是线程不安全,TS是线程安全
根据phpinfo(),选择是否是线程安全
把php_yaf.dll扩展放到ext目录下
重启apache
新建目录public,新建文件index.php入口文件
define("APP_PATH", realpath(dirname(__FILE__) . '/../')); /* 指向public的上一级 */
$app = new Yaf_Application(APP_PATH . "/conf/application.ini");
$app-&run();
新建目录conf,新建文件application.ini
;支持直接写PHP中的已定义常量
application.directory=APP_PATH "/application/"
新建目录application/controllers,新建文件index.php
class IndexController extends Yaf_Controller_Abstract {
public function indexAction() {//默认Action
$this-&getView()-&assign("content", "Hello Yaf");
新建目录views/index,新建文件index.phtml
&h1&&?php echo $?&&/h1&
以上所述是小编给大家介绍的PHP扩展框架之Yaf框架的安装与使用的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 政务云虚机价格 的文章

 

随机推荐