草庐IT

SPL_AutoLoad

全部标签

PHP 命名空间和 spl_autoload_register

我让spl_autoload_register工作正常,但后来我决定添加一些命名空间以引入PSR2合规性,但似乎无法让它工作。目录结构:-index.php-classes/-Class1.class.php-Class2.class.php-Class3.class.php每节课开始于:namespaceFoo;ClassClassX{索引.php:doSomething();这会产生错误Fatalerror:Class'Class1'notfoundin/var/www/myApp/index.phponlineX我的第一个想法是我需要在我的实例化中使用命名空间,所以我将index

php - 多个 spl_autoload_register 问题

我正在开发自定义框架。当我尝试动态化我的类(class)调用时遇到了一个问题。这是我的文件的视觉效果:所以我决定为每个文件夹(库、Controller和模型)创建一个不同的函数:functionautoloadLibs($class){//requirethegeneralclassesrequire'libs/'.$class.'.php';}functionautoloadModels($class){//requirethemodelsclassesrequire'models/'.$class.'.php';}functionautoloadControllers($class

php - 在没有 composer dump-autoload 的情况下在 Laravel 中加载自定义 php 文件

我是Laravel的新手。我一直在关注如何在没有dumpautoload的情况下将自定义php库加载到Laravel4,2的线程。到目前为止,我不能或我调用的函数不正确。我目前拥有的是:我文件autoload_classmap.php我已经添加了我的类'ImageResize'=>$baseDir。'/app/libraries/ImageResize.php',在文件autoload_static.php中我添加了'ImageResize'=>__DIR__。'/../..'。'/app/libraries/ImageResize.php',然后在我的Controller中我想显示这

php - 如何通过 composer autoload 加载特征

我已经尝试将我的traits文件夹添加到composer自定义自动加载,但这不起作用并返回错误。那么这是否可能通过Composer自动加载特征?非常感谢您的回答。我的特点:traitUser{publicfunctionis_email_unique($email){return$this->User->get_one_by_email($email)?FALSE:TRUE;}publicfunctionis_username_unique($username){return$this->User->get_one_by_username($username)?FALSE:TRUE;}

php - 如何在 PHP 代码中调用 __autoload()

我是php的新手,我想在我的代码中使用php5的__autoload功能。我在index.php中写了下面的代码,但我不明白应该如何以及何时调用__autoload函数。function__autoload($class){if(file_exists($class.'.php')){include($class.'.php');}else{thrownewException('Unabletoloadclassnamed$class');}}我看过thisthread也但是我的应用程序中没有这样的自动加载器类。是否每个应用程序都需要一个单独的类才能使用自动加载?如果不能,我可以像上面

php - 使用 SPL ArrayObject、ArrayIterator、RecursiveArrayIterator 而不是常规数组有什么好处?

我已经开始从ArrayIterators学习PHPSPL,我想知道使用SPLArrayObject、ArrayIterator、RecursiveArrayIterator代替常规数组有什么好处?a)我听说使用SPL迭代器的循环会减少内存使用(但为什么呢?)。我真的不知道该相信还是不相信,因为我不明白它如何减少内存使用量。b)谈到RecursiveArrayIterator,我们可以说有时它可以节省一些代码行(我们使用一个foreach结构而不是2+(取决于数组维度))。可能,我的问题对某些人来说似乎很简单,但是关于SPL的信息/文档太少了。谢谢 最佳答案

php - SPL 文件信息 : get filename without extension

我正在访问SPLFileInfo对象中的许多文件。我看到了一种获取文件的路径、文件名甚至扩展名的方法。有没有办法获取不带扩展名的文件名?这是我一直在使用的代码,但我希望得到更优雅的代码。是否有开箱即用的解决方案?$file=newSplFileInfo("path/to/file.txt.zip");echo'basename:'.$file->getBasename();echoPHP_EOL;echo'filename:'.$file->getFilename();echoPHP_EOL;echo'extension:'.$file->getExtension();echoPHP_

php - 有一种方法可以在不使脚本崩溃的情况下使用 CLASS_EXISTS 和 __autoload 吗?

例子:类名.php在另一个文件中...foreach($FILENAMES_WITHOUT_DOT_PHPas$name=>$value){if(class_exists($value)){echo"ClassNameexists...";}else{echo"ClassNamedoesn'texists....";}}这段代码的输出是:这会导致全部崩溃取而代之的是:类名不存在....自动加载功能:function__autoload($var_class){require_once("$var_class.php");} 最佳答案

开源SPL助力JAVA处理公共数据文件(txt/csv/json/xml/xsl)

文章目录txt\csvjson\xmlxls更强的计算能力易于应用集成SPL资料在JAVA应用中经常要处理txt\csv\json\xml\xls这类公共格式的数据文件,直接用JAVA硬写会非常麻烦,通常要借助一些现成的开源包,但这些开源包也都有各自的不足。解析库。这种类库解决了从外部文件到内部对象的问题,比硬编码取数好写,常见的有解析txt\csv的OpenCSV,解析json的SJ.json\Gson\JsonPath,解析xml的XOM\Xerces-J\Jdom\Dom4J,解析xls的POI。其中,JsonPath支持JsonPath语法,Dom4J等支持XPath语法,可以进行简单

PHP array_key_exists() 和 SPL ArrayAccess 接口(interface) : not compatible?

我写了一个简单的集合类,这样我就可以将我的数组存储在对象中:classApp_CollectionimplementsArrayAccess,IteratorAggregate,Countable{public$data=array();publicfunctioncount(){returncount($this->data);}publicfunctionoffsetExists($offset){return(isset($this->data[$offset]));}publicfunctionoffsetGet($offset){if($this->offsetExists(