草庐IT

static和final关键字

全部标签

php - 如何使用 PHP 从图像文件中读取 Lightroom 关键字?

我有一个允许用户上传照片的照片社区(www.jungledragon.com)。我的平台是PHP/CodeIgniter。作为上传过程的一部分,我已经在使用PHP的exif_read_data函数读取EXIF信息,该函数运行良好。我阅读相机详细信息并将其显示在信息选项卡上。最重要的是,用户需要在上传照片后在网站上手动设置照片标题、描述和标签。然而,一些用户在他们的图像管理程序中管理这些字段,例如Lightroom。如果我也能读到那些就太好了,上传将成为一种完全的快乐。我已经改进了我的EXIF读取以读取“标题”,这样用户就不必再在上传后设置图片标题了。现在我正在寻找阅读关键字,这是我被困

php - static 关键字对常量有影响吗?

classA{constFOO=1;}classBextendsA{constFOO=5;functionfoo(){printself::FOO;printstatic::FOO;}}$b=newB;$b->foo();两种情况下都打印5。那么在常量上使用static与self没有区别吗? 最佳答案 在LateStaticBinding的上下文中有区别。考虑这段代码:bar();//15如果您运行这段代码,输出将是:15当引用self::FOO时,打印1的值(即使bar()是在类上调用的B,但是当使用static关键字时,后期静态

php - 助手类 : Static or non-static functions

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。当创建一个包含从字符串中去除空格等方法的辅助类时,您是将这些方法创建为static函数还是非static函数?另外,如果静态方法要调用类中的另一个函数do_magic(),该函数应该如何定义为(静态还是非静态?)我们是否必须使用self::?classHelper{publicstaticstrip_whitespace(){//dosomemagicse

php - Eloquent - 哪里有关键用户或哪里没有

我正在尝试编写一个函数,该函数将获取分配给已授权用户的所有“存储桶”和/或未分配任何用户的存储桶。关系之类的,按它们应该的方式工作。除非我遗漏了什么?我怎样才能让所有存储桶也分配给用户-并且还包括没有分配用户(包括auth用户)的存储桶。桶用户分配给已分配NO用户的存储桶。即数据透视表不包含存储桶等的行。我的问题很可能源于orWhere查询...$buckets=Team::currentTeam()->buckets()->with('user')->whereHas('user',function($query){$query->where('user_id',Auth::user

php - 带有关键字 Interface , extends , implements 的面向对象的 PHP

在过去的几个月里,我在学习纯oop方面取得了长足的进步,现在我正在将设计模式应用到我的工作中!所以我不得不扩展我的php知识,我正在使用接口(interface),扩展它们,然后为这些接口(interface)实现类。我的问题是关于从扩展另一个接口(interface)的接口(interface)构造一个类,例如:interfaceCar{functiondoGeneralCarStuff();vinNumber=;}interfaceCompactCarextendsCar{static$numCompactCars;functiondoCompactCarStuff();}clas

php - 为什么模板可以直接使用 $this 关键字?

我是PHP新手;今天我在Magentotop.phtml中看到如下代码。renderCategoriesMenuHtml(0,'level-top')?>getUrl('')?>">__('Home')?>"我知道$this是类的自身,它只是在类中用来引用方法或属性,在上面的代码中,没有类已经定义了,为什么可以直接使用$this关键字呢?$this->__('Home')代表什么? 最佳答案 因为你标记了这个magento你可能有一个类Mage_Catalog_Block_Navigation.至少,这些方法暗示了这一点。现在,我对

php - DOM 解析器突出显示无效的关键字

这个问题和我做的一个有关before但是因为这个话题现在已经结束了,我需要进一步问一些问题,我会开始一个新的问题,希望没问题。在我之前的回答中,我充分简化了问题并得出了简单但不完全有效的解决方案。这些天我在实现我的代码时意识到了这一点。上一篇文章中的解决方案存在的问题是HTML标签被替换函数破坏了。我在该站点的许多帖子中都读到了我需要使用DOM解析器。我对此很不熟悉,我尝试了这个post中用户“ircmaxell”建议的代码,但这对我不起作用。这是我所做的示例:echo'.ht{background-color:yellow;}';/*takenfromuserircmaxellath

php - php中的关键字new是指在堆上分配内存吗?

php中的new关键字是指在堆上分配内存吗?例如。classperson{//propertiesandmethods}$p1=newperson();有没有办法像在C++中那样在PHP中在堆栈中创建对象?例如。classperson{//propertiesandmethods}//insideinmainstackintmain(){personp1; 最佳答案 在幕后,当您使用“new”关键字创建对象时,您正在创建一个zval。用于在核心库和扩展中创建zval的宏为zval分配内存,所以答案是肯定的,在PHP中创建一个对象会导

php - 错误 :should not be called statically, 假设 $this 来自不兼容的上下文。只在我的机器上

我的团队成员在Controller中静态编写了模型函数调用,例如:$data=ModelName::functionName($param);虽然它应该被动态调用,例如:$model=newModel();$data=$model->functionName($param);大多数情况下,所有调用都是静态进行的。该代码在服务器和除我之外的本地计算机上运行。如果不重写庞大的代码库,静态调用太多无法修复。我总是通过composer更新我的项目。我的php版本是5.4。有人可能知道这是关于什么的吗? 最佳答案 您可能在运行PHP时报告了E

php - 是否有可能 "escape"PHP 中的方法名称,以便能够拥有与保留关键字冲突的方法名称?

我在PHP中做MVC,我想在我的Controller中有一个list()方法,以具有URL/entity/list/parent_id,以显示属于该父级的所有“x”.但是,我不能使用名为list()的方法,因为它是PHP保留关键字。例如,在VB.Net中,如果我需要一个名称与保留关键字冲突的名称,我可以将其包装在[reserved_name]中。在SQL中,您可以做同样的事情。在MySQL中,您使用反引号`PHP中是否有一些语法指定“将其视为标识符,而不是关键字”?(注意:我知道我可以在没有list()方法的情况下使用路由来执行此操作。我也可以简单地调用其他操作。问题是PHP是否提供这