草庐IT

static_dir

全部标签

父类不能在静态上下文中使用 PHP const/static 变量

出于某种原因(哪个?),子类中定义的PHP常量/静态变量在父类的静态上下文中不可用。为什么?示例1:classModel{functiongetAll(){$query="SELECT*FROM".self::DATABASE_TABLE_NAME;//...}}classPostextendsModel{constDATABASE_TABLE_NAME='post';}$p=Post::getAll();当我运行时,我得到:Fatalerror:Undefinedclassconstant'DATABASE_TABLE_NAME'online3($query=...的行)示例2:cl

php - __DIR__ VS 使用反射

在Symfony2中,我看到如下代码:if(null===$this->rootDir){$r=new\ReflectionObject($this);$this->rootDir=dirname($r->getFileName());}为什么不直接使用__DIR__?if(null===$this->rootDir){$this->rootDir=__DIR__;}它们有什么区别? 最佳答案 __DIR__返回调用它的文件的目录。Symphony2代码返回定义类的目录,这很可能是一个不同的文件。

php - "static::function()"是什么意思?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:static::staticFunctionName()将关键字static放在函数调用之前意味着什么?代替类名。像这样:static::createKernel();

php - 消息 : cache_dir must be a directory

大家好,我在使用ZendFramework时遇到了一些问题。我首先收到以下消息:消息:无法确定临时目录,请手动指定cache_dir。我用谷歌搜索并找到这篇文章:ZendFramework:Couldnotdeterminetempdirectory,pleasespecifyacache_dirmanually我读了它,现在当我填写表格时出现以下错误:(我把..放在错误中的任何地方都表示域。)消息:cache_dir必须是一个目录-#0/home/daan/domains/../library/Zend/Cache/Backend/File.php(154):Zend_Cache::

php - 无法在 IIS 上设置 upload_tmp_dir

所以我尝试在IIS机器上设置phpupload_tmp_dir设置。我更改了php.ini中的设置,但phpinfo()仍然显示默认文件夹。我查看了IIS_IUSRS的权限,有write,read,modify等我还运行了这个来检查新文件夹是否可写:$filename='C:\inetpub\temp\uploads';if(is_writable($filename)){echo$filename.'iswritable';}else{echo$filename.'isnotwritable';}我更改了max_file_uploads值以测试正在加载的PHP配置是否是最新的,事实确

php - getcwd 和 __DIR__ 有什么区别?

DIR是一个魔法常量,如PHPdocs中所述.getcwd()只是根据PHPdocs的当前工作目录.我的用例是://thisismyindex.phpfilerequire_once__DIR__.'/vendor/autoload.php';$app=newSilex\Application();$app['debug']=true;$app->get('/{name}',function($name)use($app){return$app->sendFile(__DIR__.'/web/source/index.php');});我不完全理解为什么我需要这些机制中的任何一种,因为

php - 用PHP学习OO编码,static != 表达式,但是PHP手册上说凡是有值的都是表达式,一头雾水

几天前我开始学习面向对象,我对过程编码还算可以,但显然这还不够,我想成为一个有很多经验和知识的精通编码器,所以首先要完全学习必须是OO,然后是我认为正确的设计模式。无论如何,有一件事我卡住了,我不太明白......静态变量...我知道静态变量不会丢失它的值,即使包含的函数已完成执行,并且如果再次执行相同的函数将保持它的值,等等。但我不明白的是,您现在究竟可以将什么分配给静态变量?关于stackoverflow状态的手册和无数问题您不能将表达式分配给静态变量。所以我阅读了PHP手册,以找出究竟什么才算是表达式?手册答案是(我引用):“在PHP中,您编写的几乎所有内容都是表达式。定义表达式

php - Zend Framework : Could not determine temp directory, 请手动指定一个 cache_dir

我正在学习Zend框架。我创建了一个简单的Zend_Form,当我提交表单时出现以下错误:AnerroroccurredApplicationerrorExceptioninformation:Message:Couldnotdeterminetempdirectory,pleasespecifyacache_dirmanuallyStacktrace:-0H:\Documents\IIS_Server_Root\zendframework\Zend\Cache\Backend.php(197):Zend_Cache::throwException('Couldnotdeter...'

php - SessionHandler::gc():ps_files_cleanup_dir |权限被拒绝 (13)

我在CentoOS(WHM/CPANEL)和Prestashop1.7中遇到PHP7问题系统给我这个消息:Noticeonline429infile/home/onywf3fr9a/public_html/app/cache/dev/classes.php[8]SessionHandler::gc():ps_files_cleanup_dir:opendir(/var/cpanel/php/sessions/ea-php70)失败:权限被拒绝(13) 最佳答案 背景当PHP尝试对过期的session进行垃圾回收,但包含session

PHP - 具有相对路径的 include() 或 require() 在 Windows 上不起作用,即使在附加 __DIR__ 时也是如此

我在这里读到有关在将include()或required()与相对路径一起使用时PHP中出现的问题,我看到的所有解决方案都是附加DIR我目前在Windows上工作,尽管错误消息显示了DIR的当前值,但相对路径似乎是作为字符串添加的,而不是向上一级,例如:include(__DIR__."..\\another_folder\\file_2.php");产生以下错误:警告:包括(C:\xampp\htdocs\main_folder..\another_folder\file_2.php)[function.include]:无法打开流:在中没有这样的文件或目录知道发生了什么吗?