草庐IT

my_autoloader

全部标签

php - 为什么 www.example.com/index.php/my/path/here 是由 index.php 处理的?

我只是好奇,apache的功能是如何调用的,它是这样引导请求的www.example.com/index.php/my/path/here到一个文件index.php?一开始,您可能会想,如果此请求导致404错误页面,那将是正确的,因为在站点根目录中没有名为index.php的文件夹。顺便说一句,是否有可能关闭此Apache功能(如果它是一个功能)以便此类请求真正以404结束? 最佳答案 这不是URL重写功能。或者至少它不需要是。参见AcceptPathInfoDirective:Thisdirectivecontrolswheth

php - __autoload 检测并包含接口(interface)

我在我的脚本中使用__autoload来根据需要包含类。我的脚本使用类名中的提示来查找包含它的文件。如果它以模型结尾,它在模型目录中,Controller在Controller目录中,等等。我开始实现接口(interface),因此需要调整我的自动加载器。理想情况下,当创建对象时,自动加载器将确定对象的文件名、对象的存储位置,并包含该文件。然后它会询问该类实现了哪些接口(interface),然后自动包含这些文件。有点像function__autoload($classname){echo$classname;include("classes/$classname.php");$int

php - 像 http ://localhost/index. php/articles/edit/1/my-first-article 这样的 URL 在没有 .htaccess 的情况下如何工作?

我不明白:http://localhost/index.php/articles/edit/1/my-first-article此URL在Kohanaframeworkdocumentation中作为示例提及.我查看了我的安装文件,除了我自己的文件之外,没有与此无关的.htaccess。那么,怎么可能会调用index.php,然后作为参数,这些东西看起来像是添加到URL的目录?这看起来并不“真实”。或者这就是原生PHP/Apache/HTTP东西的实际工作方式?据我了解,/总是告诉“嘿,一个目录!”。对我来说真的是零意义……这怎么可能?还是他们在某个地方有我看不到/找不到的.htacc

php - 发送 : How to add webpage title in all my views?

现在我必须像这样分别在我的所有View中添加标题:TestProject-Home和TestProject-Dashboard现在,如果我想更改标题的TestProject部分,那么我必须在所有View中更改它。我如何在BootStrap.php中提及它并将其添加到所有View中?每当我必须更改它时,我都会在一个地方更改它。 最佳答案 您应该查看headTitleView助手。您可以将此代码段放在您的Bootstrap文件中(来自http://framework.zend.com/manual/en/zend.view.helper

php - 注意: undefined offset :在第641行的/my/Zend/ib/Search/Lucene/Index/SegmentInfo.php中

我在使用zendsearch-lucene框架编制索引时遇到问题。我们的文件存储库有大约25000个文件,我正试图为它们建立索引。但在批索引过程中,出现了以下错误:Notice:Undefinedoffset:2047in/my/Zend/lib/Search/Lucene/Index/SegmentInfo.phponline641Notice:Tryingtogetpropertyofnon-objectin/my/Zend/lib/Search/Lucene/Index/SegmentMerger.phponline202Fatalerror:Uncaughtexception'

php - 关于一个简单的 PHP Autoloader 的问题

我刚开始学习PHP命名空间并开始创建一个简单的自动加载函数。O所做的是:function__autoload($name){echo$name."";require_once$name.".php";}因此,如果我不使用任何别名或导入语句(例如,这会起作用)。使用MainNamespace\Subnamespace因为如果我这样做,假设我有:\GreatApp\Models\User.php\GreatApp\Models\Project.php\GreatApp\Util\Util.php\GreatApp\Util\Test\Test.php如果我尝试这样做:newGreatApp

php - 亚马逊 S3 : Monitor my bucket's current disk and bandwidth usage using PHP?

是否可以使用PHP创建基本脚本,以便在特定存储桶已经使用AmazonS3的100GB磁盘或100GB带宽时我可以收到警报(例如通过电子邮件)? 最佳答案 您可以使用亚马逊的php库以编程方式获取存储桶的大小。http://docs.amazonwebservices.com/AWSSDKforPHP/latest/#m=AmazonS3/get_bucket_filesize是如何做的一个例子。使用上面的示例,您可以创建一个简单的函数来获取所有存储桶的大小。如果它们超过您的尺寸阈值,您可以给自己发送一封电子邮件。如果您使用的是基于u

php - 使用 MY_Log 扩展 CI_Log 时日志文件出错

当我尝试加载MY_Log时,我看到以下错误出现在我的应用程序日志文件中。错误-26-03-201322:52:20—>严重性:警告—>include_once(application/core/MY_Log.php)[function.include-once]:无法打开流:没有这样文件或目录C:\dev\mysite\application\config\config.php377我的自动加载文件包含以下内容:$autoload['libraries']=array('parser','session','log');MY_Log类定义在application/libraries/M

php - 使用 SPL_AUTOLOAD_REGISTER 时命名空间如何工作?

我今天正在学习如何在PHP中使用命名空间和自动加载,但我似乎遇到了障碍。当我不使用spl_autoload_register而是使用require_once时,事情似乎有效。我的文件夹结构非常简单:-index.php-class/-Users.php在我的index.php文件中我有:在我的class/Users.php文件中我有:这绝对没问题,返回了1的ID理想情况下,我想使用自动加载功能,我发现了spl_autoload_*,这就是我尝试做的,但没有成功:在我的class/Users.php文件中我有:在我的index.php文件中我有:但是我得到一个错误:`Class'User

php - Codeigniter 电子邮件始终从 'my@gmail.com' 发送,而不是给定的输入电子邮件

今天我在我的网站上做了一个联系表。一切正常,电子邮件正确发送到指定的电子邮件($this->email->to('myemail@address.com'))。在我的application/config/email.com中我有:$config=Array('protocol'=>'smtp','smtp_host'=>'ssl://smtp.googlemail.com','smtp_port'=>465,'smtp_user'=>'myemail@gmail.com','smtp_pass'=>'mypassword','mailtype'=>'html','charset'=>'