我正在为sales_order_invoice_register事件编写一个观察器,我想获取刚刚保存的发票编号。我找不到检索该ID的函数,这些评论的调用都不起作用。任何的想法?代码在这里publicfunctionfoobar($observer){$order=$observer->getEvent()->getOrder();$id_order=$order->getRealOrderId();$id_invoice=$observer->getEvent()->getInvoice();//theMage_Sales_Model_Order_Invoiceobject//$id_
好的,我已经在网上搜索了所有内容,但没有任何效果。结果非常不一致。让我先告诉你我在这里有什么。最后会创建导出文件,但无法获取订单数据和对象。classPackagename_Modulename_Model_Observer{publicfunctionexportFeed(Varien_Event_Observer$observer){$order=$observer->getEvent()->getOrder();$ordered_items=$order->getAllItems();并在config.xml中Packagename_Modulename_Model_Observ
我有一个带有域对象和数据映射器的WebMVC应用程序。数据映射器的类方法包含所有数据库查询逻辑。我试图避免镜像任何数据库结构,因此,在构建sql语句时实现最大的灵active。因此,原则上,我尽量不使用任何ORM或ActiveRecord结构/模式。举个例子:通常,我可以有一个抽象类AbstractDataMapper由所有特定数据映射器类继承-如UserDataMapper类。然后我可以在AbstractDataMapper中定义一个findById()方法,通过给定的id值,例如用户身份。但这意味着我总是从单个表中获取记录,而不可能使用任何左连接来从对应于给定id-用户id的其他一
这个问题在这里已经有了答案:Regexlookahead,lookbehindandatomicgroups(5个答案)关闭9年前。有没有办法(除了进行两个单独的模式匹配)在PHP中使用preg_match来测试字符串或模式的开头?更具体地说,我经常发现自己想要测试我是否有一个匹配模式,它前面没有任何内容,如preg_match('/[^x]y/',$test)(也就是说,如果y前面没有x,则匹配它),但如果它出现在$test的开头,则也匹配y(当它前面也没有x,但前面没有任何字符,因此[^x]构造将不起作用,因为它始终需要一个字符来匹配它。在字符串末尾也有类似的问题,以确定是否出现了
我刚刚了解了模型观察者,并希望将我的一些逻辑从Controller转移到观察者。这是我拥有的:AppServiceProvider.phppublicfunctionboot(){WorkOrder::observe(WorkOrderObserver::class);}WorkOrderObserver.phpnamespaceApp\Observers;useApp\Site;useApp\WorkOrder;useCarbon\Carbon;useApp\WorkOrderNumber;classWorkOrderObserver{publicfunctioncreating(W
每当管理cp中的产品更新时,我都试图解雇观察员。记录更新。Config.xml1.0.0Mod_Products_ModelsingletonMod_Products_ModellogUpdateObserver.phpclassMod_Products_Model_Observer{publicfunctionlogUpdate($observer){$event=$observer->getEvent()->getControllerAction()->getFullActionName();Mage::log('EventFired:'.$event);Mage::log(jso
我正在尝试构建一个尽可能分离的身份验证组件,允许不同类型的身份验证(例如:http、摘要、数据库等),就像zend_auth:http://framework.zend.com/manual/en/zend.auth.html他们使用的模式有名字吗?你能推荐我一个不同的方法吗?也许是Bridge或Strategy模式? 最佳答案 根据您提供的链接:Zend_AuthprovidesanAPIforauthenticationandincludesconcreteauthenticationadaptersZend_auth本身就是S
我想知道我是否为不同的事件实现了观察者模式,例如'userLoggedOut'、'userRegistered'、'userLoggedIn'是正确的,下面是我的简化代码:index.php$login=new\Observer\Observable\Login;$userData=$login->getData();$login->attach(new\Observer\Observer\Email);$login->notify('userLoggedIn');$login->notify('userLoggedOut',$userData);$login->notify('use
我需要一些在开发网站时可以使用观察者模式的实际案例..(使用php)我有一个“当用户发布文章(主题)时,类RSS和类EMAIL(观察者)将修改rss并向管理员发送电子邮件”,但是我我什至不确定这是否是一个很好的例子..你在哪里使用观察者模式?顺便说一句:这不是作业,我只是躺在这里思考这个模式:)已编辑我更好奇“什么时候做”而不是“怎么做” 最佳答案 我有一个对象(单元格)的集合(数组)作为“cellCollection”对象的属性。为了减少内存使用,每个单元实际上都以序列化形式保存在缓存(磁盘文件、APC、内存缓存等)中,而“cel
我正在使用php的preg_replace().基本上我有2种可能的字符串匹配:你好现实世界问候这是我希望完成的:HelloRealWorldGreetings规则解释:如果字符串包含空格,插入在第一个空格字符之后。如果字符串不包含空格(一个单词),则插入就在字符串的中间(+/-如果奇数字符计数)。到目前为止,我已经想出了一个长期有效的解决方案:",$str,1):preg_replace("/.{".round(strlen($str)/2)."}/","$0",$str,1);?>但是,我相信它可以通过一个更短、更优雅的正则表达式来完成,只有一个preg_replace()。打电话