我想知道正则expression式中tilde运算符的含义。 我有这样的说法: if (!preg_match('~^\d{10}$~', $_POST['isbn'])) { $warnings[] = 'ISBN should be 10 digits'; } 我发现这个文件解释了什么意义代表: ~ 它表示=~是一个perl运算符,意味着对这个正则expression式运行这个variables。 但是为什么我的正则expression式包含两个波形符号运算符?
我有这个作为XML: <root xmlns:event="http://www.webex.com/schemas/2002/06/service/event"> <event:event> <event:sessionKey></event:sessionKey> <event:sessionName>Learn QB in Minutes</event:sessionName> <event:sessionType>9</event:sessionType> <event:hostWebExID></event:hostWebExID> <event:startDate>02/12/2009</event:startDate> <event:endDate>02/12/2009</event:endDate> <event:timeZoneID>11</event:timeZoneID> <event:duration>30</event:duration> <event:description></event:description> <event:status>NOT_INPROGRESS</event:status> <event:panelists></event:panelists> <event:listStatus>PUBLIC</event:listStatus> </event:event> … </root> 我怎样才能循环所有的事件:事件节点和显示,例如,所有的事件:SessionKey的? 这不起作用: $xml = new SimpleXMLElement($r); $xml->registerXPathNamespace('e', 'http://www.webex.com/schemas/2002/06/service/event'); foreach($xml->xpath('//e:event') as $event) { var_export($event->xpath('//e:sessionKey')); }
我对MVC中“模型”的概念感到非常困惑。 目前存在的大多数框架将模型放置在控制器和数据库之间,而模型几乎就像数据库抽象层一样。 控制器开始执行越来越多的逻辑时,“Fat Model Skinny Controller”的概念就消失了。 在DDD中,还有一个域实体的概念,它具有唯一的身份。 据我所知,用户是一个很好的例子(例如唯一的用户标识)。 实体有一个生命周期 – 它的价值可以在整个行动过程中改变 – 然后它被保存或丢弃。 我上面描述的实体是我认为模型应该在MVC? 我是多么基地? 为了更多地混淆事物,可以使用其他模式,比如Repository模式(也许把服务放在那里)。 很明显Repository如何与一个实体交互 – 它是如何与一个模型? 控制器可以有多个模型,这使得它看起来像一个模型是一个“数据库表”而不是一个独特的实体。 更新: 在这篇文章中 ,模型被描述为知识的东西,它可以是单数或对象的集合。 所以这听起来更像一个实体和一个模型差不多。 该模型是一个包罗万象的术语,实体更具体。 价值对象也是一个模型。 至less在MVC方面。 也许??? 那么,用非常粗略的话说哪个更好呢? 没有“模型”真的… class MyController { public function index() { $repo = new PostRepository(); $posts = $repo->findAllByDateRange('within 30 days'); foreach($posts as $post) { echo $post->Author; } } } […]
我正在开发自己的PHP库,我想从我的API调用REST风格的Web服务。 这可以在PHP中完成,如果是的话,这样做的基础是什么?
我有一个网页,(除其他外)需要从用户上传的video中提取特定的帧。 用户在播放器中寻找.mp4的特定部分,然后点击一个button,然后ajax调用被发送到一个php脚本,该脚本采用.mp4,以及video的确切时间,并使用它提取一个“缩略图”框架。 我目前的解决scheme是使用php exec命令: exec("ffmpeg -i $videoPath -ss $timeOffset -vframes 1 $jpgOutputPath"); …它工作得很好,除了它像糖蜜一样慢。 我的猜测是,ffmpeg对于这个工作来说有点太过分了,而且我可以通过利用底层库或者其他东西来做得更好……但是我不知道该怎么做。 理想情况下,我不想安装任何需要真正的“安装过程”的东西…即,将可执行文件放到我的web应用程序的文件夹中是好的,但我宁愿不必实际运行安装程序。 此外,解决scheme应该能够在Mac,Linux和Windows上运行(尽pipeLinux是最重要的)。 我能做些什么来加快这个过程? 谢谢。
有没有一种方法来设置$_POST['var']而不使用窗体相关的字段(无types='隐藏'),只使用PHP。 就像是 $_POST['name'] = "Denniss"; 有没有办法做到这一点? 编辑:有人问我一些这方面的阐述。 所以例如,我有一个表单上的页面,表单看起来像这样 <form method='post' action='next.php'> <input type='text' name='text' value='' /> <input type='submit' name='submit' value='Submit'/> </form> 一旦提交button被点击,我想要redirect到next.php。 有没有办法让我设置$ _POST ['文本']variables为另一个值? 我如何使这个持久化,以便当我点击另一个提交button(例如)$ _POST ['文本']将是我在next.php上设置,而不使用隐藏的字段。 让我知道这是否仍然不清楚,谢谢你的帮助。
我确信这个问题被多次提出,但是我没有遇到一个问题。 我正在使用XAMPP来configurationZend框架。 XAMPP在PORT 8081上运行,因为80正在被一些Windows进程占用,我需要使用虚拟主机,因为我在httpd-vhosts.config中configuration了以下代码,出现在C:/ xampp / apache / config / extra / <VirtualHost *:80> ServerName comm-app.local DocumentRoot "C:/xampp/htdocs/CommunicationApp/public" SetEnv APPLICATION_ENV "development" <Directory "C:/xampp/htdocs/CommunicationApp/public" DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 并用127.0.0.1 comm-app.local更新hosts文件,并尝试重新启动apache,但显示错误。 15:03:01 [Apache] Error: Apache shutdown unexpectedly. 15:03:01 [Apache] This may be due to a blocked port, missing dependencies, 15:03:01 […]
有没有办法让phpMyAdmin吐出需要在另一个数据库中复制表的SQL? 我刚开始制作桌子的时候保存了它,但是从那以后我改变了很多。 这是一个非常大的桌子,这真的有帮助。
这是唯一的方法有数组作为常量在PHP或是这个不好的代码: class MyClass { private static $myArray = array('test1','test2','test3'); public static function getMyArray() { return self::$myArray; } }
我正在上传脚本。 如果一个用户上传一个文件,并且它已经存在,我想警告用户(这全部通过ajax),并给他们selectreplace它,或取消。 我很好奇,如果我可以在tmp中保留文件,并在ajax响应中传递回该文件的path,而不是移动文件。 如果他们说覆盖旧的文件,在Ajax请求传递path回到PHP继续在文件上工作。 为了这个工作,但是我需要知道一个文件在php的tmp中保留多久