草庐IT

Overriding

全部标签

php - 是否可以覆盖默认的 PHP 函数?

我想覆盖_()PHP函数,使其支持一个或多个参数。是否可以使用PHP代码来实现? 最佳答案 不,但是PHP版本>=5.3.0你可以使用namespacing虽然。 关于php-是否可以覆盖默认的PHP函数?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7159804/

php - 如何调用php中不存在的类方法?

我只想创建函数,就像magento中的getFieldname()一样。例如:在Magento中getId()-返回ID字段的值getName()-返回Name字段的值我怎样才能创建这样的功能?在这种情况下请帮助我..我想像下面的代码那样做,ClassCalled{$list=array();function__construct(){$this->list["name"]="vivek";$this->list["id"]="1";}functionget(){echo$this->list[$fieldname];}}$instance=newCalled();$instance-

php - 为什么子方法必须与父方法具有相同的参数?

我有这个代码:abstractclassBase{publicfunctiondelete(){//Somethinglikethis(idissettedinconstructor)$this->db->delete($this->id);}}然后我有另一个扩展Base的类,例如:classSubtitlesextendsBase{publicfunctiondelete($parameter){parent::delete();//Dosomemoredeletingintransactionusing$parameter}}它也恰好有delete方法。问题来了:当我打电话$sub

php - 禁止重载 PHP 类构造函数

是否有可能-在PHP中-“禁用”覆盖类构造函数的功能?只是为了让场景更清晰:我有一个带有构造函数的抽象类A。这个构造函数对于类的工作是必不可少的。然后我有一些“sibling”,它们“扩展”了抽象类A。他们-显然-必须扩展那个类,但我不希望他们接触构造函数。我知道可以调用parent::__construct(),但那样我就不会强制使用该模式。如果我的一位同事正在实现一个扩展我的抽象类的新类,我不希望出现混淆。当然,所有内容都已记录在案,但你们都知道阅读内容时的情况;-)关于如何禁用构造函数的覆盖有什么想法吗?(在那种情况下,我会创建一个可以覆盖的抽象init()方法,但我的“抽象构造

php - 通过主题覆盖模板在 Woocommerce 中不起作用

我正在为基于FoundationPress的客户创建自定义Wordpress/woocommerce主题。出于某种原因,我无法覆盖taxonomy-product_cat.php。我可以用其他主题覆盖此文件,例如twenty-nnn或Storefront。我花了半天时间找到答案,但运气不佳。最后,我将Foundationpress主题精简为一个index.php+style.css。我清除了缓存,在Woocommerce>status>tools中重新创建了模板文件。我禁用了除Woocommerce之外的所有第三方插件。但它仍然拒绝覆盖我的类别模板。我被困在这里了。有人可以给我一些指示

PHP - 识别函数何时被调用

我正在考虑如何找到调用任何函数的位置。问题是我需要找到PHP调用mail()函数的位置。一种方法是使用register_tick_function(),但我需要打开每个文件并检查每一行的内容。这个项目很大,用PHP解析每个文件需要很长时间。还有别的办法吗?或者选择如何覆盖mail()函数? 最佳答案 要覆盖内置邮件功能,请查看override_function这是AdvancedPHPDebuggerPECLextension的一部分-然后你可以使用debug_backtrace找出来电者的详细信息...//definecodeto

php - Magento - 覆盖 Adminhtml block

我花了几个小时试图覆盖扩展程序中“添加商店”和“编辑商店”页面的Magentoblock,以向其添加另一个文本框。在翻阅书籍和谷歌搜索后,我发现了几个人们说有效的解决方案,但对我来说却不是。一个建议是thisone.我已经从LeeSaferite复制了假定正确的解决方案,该解决方案适用于原始海报,但不适用于我。当然,我将值更改为我正在覆盖的类和新修改的类。我的config.xml(相关部分):Nintera_General_Block_StoreEditNintera_General_Helper以及位于Nintera/General/Block/StoreEdit.php的block

php - 在 PHP 中覆盖子类中的函数时更改返回类型?

这不好吗?或者这在PHP框架中很常见?例如,在父类中,有一个save()函数返回数据库中受影响的行数。然后在子类中,我覆盖了这个函数来做一些预验证,也想简单地返回一个成功/失败的bool值。 最佳答案 我同意改变返回值的类型(甚至含义)是不好的共识。这里有一个例子说明它是如何变坏的:假设您有一个接受字符串和“Writer”的函数:functionprintThroughWriter(String$text,Writer$writer){$count=$writer->write($text);print"Writer'".get_c

php - Joomla 3.1 覆盖库

我有一个Joomla3网站并想覆盖libraries/cms/html/html.php。这可能吗?我尝试使用此处描述的相同技术HowtooverrideJoomlaSystemMessages-message.phptemplate我把我的html.php文件放在templates/MY_TEMPLATE/html/html.php这没有帮助,如果我在我的模板index.php文件中放入以下内容也没有帮助:require_onceJPATH_ROOT.'/templates/'.$this->模板.'/html/html.php'; 最佳答案

PHP 继承 : child class overriding parent variable/property for use in constructor

我有一个(抽象的)父类应该在构造期间提供功能。子类可以覆盖构造函数中使用的属性:classParentextendsMiddlewareTest{//abstractchannelpropertiesprotected$title=NULL;protected$type=NULL;protected$resolution=NULL;function__construct(){parent::__construct();$this->uuid=$this->createChannel($this->title,$this->type,$this->resolution);}}classC