本文实例讲述了Zend Framework教程之资源(Resources)用法。分享给大家供大家参考,具体如下:Zend_Application_Resource_ResourceZend_Application_Bootstrap_ResourceBootstrapper是引导类加载注册资源插件使用的接口。Zend_Application_Resource_Resource是一个资源插件接口。Zend_Application_Resource_Resource通常被用于实现了Zend_Application_Bootstrap_ResourceBootstrapper的引导类中。资源插件是一个可配置,预加载的和可以通过策略模式初始化资源的接口。Zend_Application_Resource_Resource Interface Method Return Value Parameters Description __construct($options = null) Void $options:可选. 配置资源.   setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap) Zend_Application_Resource_Resource $bootstrap:必填. 初始化资源的父引导类   getBootstrap() Zend_Application_Bootstrap_Bootstrapper N/A setOptions(array $options) Zend_Application_Resource_Resource $options:必填. 配置选项.   getOptions() Array N/A   init() Mixed N/A 采用策略模式: 运行,初始化资源. Zend_Application_Resource_ResourceAbstractZend_Application_Resource_ResourceAbstract是一个抽象类,实现了Zend_Application_Resource_Resource接口,为创建自定义插件资源提供了一个便捷的方式。注:这个抽象类没有实现init()方法,可以继承使用这个抽象类,自定义实现init方法。Zend_Application_Resource_ResourceAbstract Methods Method Return Value Parameters Description __construct($options = null) Void $options:可选. 配置资源   setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap) Zend_Application_Resource_ResourceAbstract $bootstrap:必填.     getBootstrap() Zend_Application_Bootstrap_Bootstrapper N/A   setOptions(array $options) Zend_Application_Resource_ResourceAbstract $options:必填.     getOptions() Array N/A   资源名称注册插件资源时,出现的一个问题是你应该如何从父引导类。有三种不同的机制,可以使用,这取决于你是如何配置的引导和它的插件资源。首先,如果你的插件名称定义包含前缀路径,您可以通过他们的“短名称” - 即类的名称的一部分。例如,类“Zend_Application_Resource_View”的短名称是“View”,如果前缀路径“Zend_Application_Resource”已注册。您可能使用类的全名或短名称注册他们:$app = new Zend_Application(APPLICATION_ENV, array( 'pluginPaths' => array( 'My_Resource' => 'My/Resource/', ), 'resources' => array( // if the following class exists: 'My_Resource_View' => array(), // then this is equivalent: 'View' => array(), ),));以后可以使用短名称引导资源和获取:$bootstrap->bootstrap('view');$view = $bootstrap->getResource('view');其次,如果没有匹配的插件路径的定义,你可能仍然通过使用资源类的全名。在这种情况下,你可以参考如下使用资源的完整类名:$app = new Zend_Application(APPLICATION_ENV, array( 'resources' => array( // This will load the standard 'View' resource: 'View' => array(), // While this loads a resource with a specific class name: 'My_Resource_View' => array(), ),));引导资源以及获取方式$bootstrap->bootstrap('My_Resource_View');$view = $bootstrap->getResource('My_Resource_View');这给我们带来了第三个选项。您可以指定一个明确的名称,将自己注册为一个给定的资源类。这可以通过资源插件类增加 public $_explicitType的字符串值,该值将被用来指定引导插件资源。作为一个例子,让我们来定义我们自己的视图类:class My_Resource_View extends Zend_Application_Resource_ResourceAbstract{ public $_explicitType = 'My_View'; public function init() { // do some initialization... }}然后,我们可以引导资源或通过它的名字“My_View”获取:$bootstrap->bootstrap('My_View');$view = $bootstrap->getResource('My_View');可以使用这些不同的命名方法,覆盖现有资源,添加您自己的,混合是i用多种资源,以实现复杂的初始化等等。更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》希望本文所述对大家PHP程序设计有所帮助。

ThinkPHP模板中的switch标签用于在模板中根据不同情况输出不同的值。ThinkPHP模板引擎支持switch判断,可根据不同条件输出不同的结果,使用格式如下:<switch name="变量名" ><case value="值1">输出内容1</case><case value="值2">输出内容2</case><default />默认情况</switch>用法举例如下:<switch name="uid"><case value="1">管理员</case><default />游客</switch>此处注意:name属性可以使用函数以及系统变量,其属性值为变量名称,没有$符号,而value值使用变量时需要带$符号,如上面的例子所示。而value的值在使用变量方式的情况下,不再支持多个条件的同时判断,如下面多条件判断。多条件判断:case 的 value 属性可以支持多个条件的同时判断,使用 | 符号进行分割:<switch name="Think.get.type"><case value="gif|png|jpeg">图像格式文件</case><default />其他格式文件</switch>此处表示如果$_GET["type"]的值是gif、png或者jpg的话,就判断为图像格式。name属性还可以是系统变量,并且可以使用函数,如:

下面讲下配置过程一、下载oracle instantclient下载地址:http://www.oracle.com/technetwork/topics/winx64soft-089540.html下载 instantclient-basic-windows.x64-11.2.0.4.0解压路径:D:\Program Files (x86)\Oracle64Client\instantclient_11_2*注:客户端需要对应数据库版本。二、配置系统环境变量在PATH环境变量后加入:;D:\Program Files (x86)\Oracle64Client\instantclient_11_2三、配置PHP支持OCI扩展修改配置文件php.ini开启配置如下四、重启Apache服务测试使用探针函数phpinfo()查看扩展是否开启,如果出现下图说明扩展开启五、测试数据库连接在站点根目录编写oracle.php,我连接的是虚拟机CentOS中的Oralce数据库代码如下:<?php $conn = ocilogon('test','test','192.168.23.131:1521/dev'); if (!$conn) { $Error = oci_error(); print htmlentities($Error['message']); exit; } else { echo "Connected Oracle Successd!"."<br>"; ocilogoff($conn); }?>浏览器地址栏输入 http://localhost/oracle.php显示Connected Oracle Successd!说明数据库连接成功。

本文实例讲述了Yii安装与使用Excel扩展的方法。分享给大家供大家参考,具体如下:1.下载EExcelBehavior到项目扩展目录下2.下载phpexcl到扩展目录3.控制器调用:/** * 导出列表,各商家保障金列表 */public function actionExport(){ $model = $model=new Company('search'); $model->unsetAttributes(); // clear any default values $model->zc_deposit_status = 2;//保障金审核通过的商家 $companys = $model->search(); $this->toExcel($companys,array('zc_name','zc_deposit'));}/** * 导出列表,商家保障金变动明细 */public function actionExportDeposit($id){ $model=new CmpDeposit('search'); $model->unsetAttributes(); // clear any default values $model->zm_id = $id; $data = $model->search(); $company = Company::model()->findByPk($id); $this->toExcel($data,'',$company->zc_name.'网铺保障金明细');}public function behaviors(){ return array( 'eexcelview'=>array( 'class'=>'ext.eexcelview.EExcelBehavior', ), );}4.具体用法: * @param null string|CDataProvider|array $model the data provider for the grid. * @param null array $columns array with specif columns and its format. Defaults to all attributes. * @param null string $title title for the file * @param null array $documentDetails details of the document * @param null string $exportType format to export (Excel5,Excel2007, PDF, HTML, CSV). Defaults to Excel2007 (xlsx) */public function toExcel($model=null, $columns=array(), $title=null, $documentDetails=array(), $exportType='Excel2007')更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

复制代码 代码如下:<?php//===============================时间日期===============================//y返回年最后两位,Y年四位数,m月份数字,M月份英文。d月份几号数字,D星期几英文$date=date("Y-m-d");$date=date("Y-m-d H:i:s");//带时分秒//include,include_once.require,require_once//require("file.php") 在PHP程序执行前就会先读入require所指定引进的文件,如出现错误是致命的。//include("file.php") 可以放在PHP程序的任何位置,PHP程序执行到时才读入include指定引入的文件,如出现错误会提示//===============================输出打印===============================//sprintf("%d","3.2") ;//只格式化,返回格式化后的字符串,不输出。//printf("%d","3.2") ;//即格式化,又输出//print("3.2") ;//只输出//echo "nihao","aa";//可以输出多个字符串//print_r(array("a","b","c"));//将数组的键值与元素依次显示//===============================常用字符串函数===============================//获取字符串长度,有多少个字符,空格也算$str=" sdaf sd ";$len=strlen($str);//用第一个参数里的字符串,把后面数组里的每个元素连接起来,返回一个字符串。$str=implode("-",array("a","b","c"));//字符串分割方法,返回一个数组,用第一个参数里的字符分割后面的字符串,指定字符的前后和之间都截取,如果指定字符在开头或结尾则返回的数组开头或结尾的元素为空字符串//没有分割到字符串就返回给数组对应元素一个空值。最后一个限制返回数组长度,可不限制,则一直分割下去。$array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4);//print_r($array);//剔除字符串左边开头的空格,并返回//如有第二个参数则是剔除左边开头的空格换成剔除第二个参数里的字符串$str=ltrim("a asd ","a");//剔除字符串右边开头的空格$str=rtrim(" asd ");//把第一个字符串两边以第二个参数开头的字符串剔除。如没有第二个参数,默认剔除掉字符串两边开头的空格$str=trim(" sdsdfas ","a");//从字符串第一个参数里的指定位置开始取多长(多少个)字符,字符串中第一个字符位置从0算。//如果第二个参数为负则从字符串结尾倒数第几个开始取多长的字符串。结尾最后一个字符算-1,截取方向总是从左到右$str=substr("abcdefgh",0,4);//将第三个参数的第一个参数字符串用参数二字符串替换$str=str_replace("a","","abcabcAbca");//与str_replace用法同,只是不区分大小写//$str=str_ireplace("a"," ","abcabcAbca");//返回括号里字符串的字符全部大写的字符串$str=strtoupper("sdaf");//将括号里第一个字符串变成大写后返回$str=ucfirst("asdf");//用echo等将括号里字符串打印在网页上时原汁原味打印出括号里的字符串,包括标签字符$str=htmlentities("<br/>");//返回第二个参数字符串在第一个字符串里出现的次数$int=substr_count("abcdeabcdeablkabd","ab");//返回第二个字符串在第一个字符串第一次出现的位置,第一个字符位置算0$int=strpos("asagaab","ab");//返回第二个字符串在第一个字符串最后一次出现的位置,第一个字符位置算0$int=strrpos("asagaabadfab","ab");//截取返回参数一中从左至右第一个出现的参数二到参数一最后一个字符的字符串$str=strstr("sdafsdgaababdsfgs","ab");//截取返回参数一中从左至右最后一个出现的参数二到参数一最后一个字符的字符串$str=strrchr("sdafsdgaababdsfgs","ab");//将参数二中每一个字符在参数一中相同字符前加"\"$str=addcslashes("abcdefghijklmn","akd");//将参数一的字符串填充到参数二指定的长度(单字符个数),参数三为指定填充的字符串,不写默认空格//参数四填充位置,0在参数一左侧开头填充,1右侧开头,2两边开头同时。不写默认在右侧开头填充$str=str_pad("abcdefgh",10,"at",0);//依次比较两字符串对应字符阿斯克码值,第一对不一样的,如果参数一里大于参数二里的返回1,反之返回-1,两字符串完全一样返回0$int1=strcmp("b","a");//返回第一个参数格式化后的数字格式,第二个参数为保留几个小数,参数三为将小数点换成参数三,参数四为整数部分每三位用什么字符分割//后面三个参数都不写,则默认去掉小数部分,整数每隔三位用逗号,分割。参数三,参数四必须同时存在$str=number_format(1231233.1415,2,"d","a");//===============================常用数组方法===============================$arr=array("k0"=>"a","k1"=>"b","k2"=>"c");//返回数组元素个数$int=count($arr);//判断第二参数的数组元素中是否有第一个参数元素$bool=in_array("b",$arr);//返回括号中数组所有键值组成的新数组原数组不改变$array=array_keys($arr);//判断第二个参数的数组中是否有第一个参数的键值,返回真假$bool=array_key_exists("k1",$arr);//返回原数组中所有元素值组成的新数组,键值从0开始自增,原数组不变$array=array_values($arr);//返回当前数组指针指向的键值$key=key($arr);//返回当前数组指针指向的元素值$value=current($arr);//返回当前数组指针指向元素的键值及元素值组成的数组,再将指针推向下一位,最后指针指向的是一个空元素返回空//返回的数组中有四个固定键值对应的元素值分别是返回元素的键值及元素值,其中0,'key'键值都对应返回元素键值,1,'value'键值都对应返回的元素值$array=each($arr);//先将数组指针推向下一位,再返回指针移动后指向的元素值$value=next($arr);//将数组指针推向上一位,再返回指针移动后指向的元素值$value=prev($arr);//让数组指针重置指向第一个元素并返回元素值$value=reset($arr);//将数组指针指向最后一位元素,并返回最后一位元素值$value=end($arr);//将第一个参数以后的参数作为元素追加入第一个参数数组的末尾,索引从最小的没用过的数值开始计,返回之后的数组长度$int=array_push($arr,"d","dfsd");//将第一个参数数组后面所有参数作为元素添加到第一个参数数组开头处,键值以0从第一个元素处重新累加,原非数值的键值保持不变,原元素排序位置不变,返回之后的数组长度$int=array_unshift($arr,"t1","t2");//返回从数组尾部提取最后一个元素值,并把最后一个元素从原数组中剔除$value=array_pop($arr);//array_pop相反,提取返回数组头一个元素值,并把头一个元素从原数组中剔除$value=array_shift($arr);//让第一个参数数组达到第二个参数数值长度,将第三个参数作为元素添加到第一个参数数组的末尾,索引从最小没用过数值开始计并返回,原数组不改变$array1=array_pad($arr,10,"t10");//返回一个将原数组中多余重复元素剔除掉的新数组,原数组不改变$array=array_unique($array1);//将原数组键值打破重新以元素值的阿斯克码值从小到大排序,索引从数字0开始重计$int=sort($array);//和sort相反,以元素值阿斯柯码值大小降序重新排序,索引从0重新计$int=rsort($array);//返回将第一个参数数组中每一个元素值依次作为键值付给参数二数组的数组,两数组长度必须一致,原数组不改变$array=array_combine(array("a","b","c","d","e"),$arr);//将两个数组合并并返回原数组不变$array=array_merge($arr,array("a","b","c"));//在第一个参数数组中从第二个参数数值位置开始截取到第三个参数数值长度的数组键值+元素并返回,数组第一个元素位置从0计$array=array_slice($arr,2,1);//截取功能和array_slice()一样,只是将截取部分在原数组中剔除$array=array_splice($arr,2,1);//将第一个参数作为第一个元素,每次自增参数三的值,自增后再作为一个元素存在数组中,直到值达到参数二的值存到数组中为止并返回这个数组//参数一,参数二可以是数字,可以是单个字符,单字符就按阿斯柯码值算,第三个参数不写默认每次自增1$array=range(3,9,2);//将原数组元素与对应键值的对应关系重新随机排列返回真假$bool=shuffle($arr);//计算数组中所有数值型元素值的和$int=array_sum(array("a",2,"cssf"));//把一个数组分割为新的数组块,新数组每个元素都是一个数组,新数组每个元素内有几个元素由参数二决定//第三个参数决定元素的键值是否保留原键值可不写,true为保留,默认false不保留$array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true);//json_encode()将数组转换成JSON格式字符串返回$arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4'));echo $encode_str = json_encode($arr);//json_decode()将JSON格式字符串转换成能强制转换成数组的对象返回,JSON格式字符串中键与值需要引号括起来时必须用双引号$decode_arr = (array)json_decode($encode_str);var_dump($decode_arr);?

分类:腾博会官方网

时间:2016-06-14 08:26:12