我已经浏览过Zend Framework 2上的大量教程等,但我似乎无法找到以简单方式描述基本组件和逻辑流程的单一概述.
目前所有可用的教程似乎都做出了巨大的假设,只是给出了解决特定问题的代码示例,而没有涉及它们背后的基本思想.ZF2文档是这方面的罪魁祸首.
这是我发现的最有用的概述,尽管现在已经过时了:http://zendframework2.de/en/cheat-sheet.html
任何人的想法?
我有一个审计类,它扩展了雄辩模型......
class Audit extends Model {
}
Run Code Online (Sandbox Code Playgroud)
我有一个可审计的界面...
interface IAuditiable {
public function audit();
}
Run Code Online (Sandbox Code Playgroud)
我有一个特性,它实现了接口并定义了模型和审计之间的关系......
trait Auditable {
public function audit(){
return $this->hasMany('Audit');
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个模型,它扩展了 Eloquent 模型,实现了接口并使用了特征......
class Post extends Model implements IAuditable {
use Auditable;
}
Run Code Online (Sandbox Code Playgroud)
我想在创建或更新 Post 模型时添加其中的功能create或update进行审计。我通过在 Post 上注册一个观察者来解决这个问题,该观察者会捕获“已保存”事件并添加新的审计。
然而,最终会有很多模型使用实现IAuditable和使用Auditabletrait。
所以,我的问题是,是否有可能实现一个观察者,它可以为任何IAuditable在Laravel 5.1 中实现接口的模型获取所有“保存”的事件?
在我的应用程序的每个模块中,我将有一个主要内容部分和侧边栏菜单.
在我的布局中,我有以下内容......
<div id="main" class="span8 listings">
<?php echo $this->content; ?>
</div>
<div id="sidebar" class="span4">
<?php echo $this->sidebar; ?>
</div>
Run Code Online (Sandbox Code Playgroud)
我的控制器都返回一个ViewModel,它指定了内容(见下文),但我如何让它也填充侧边栏?
public function detailsAction()
{
*some code to populate data*
$params = array('data' => $data);
$viewModel = new ViewModel($params);
$viewModel->setTemplate('school/school/details.phtml');
return $viewModel;
}
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,我在这里做了一些根本错误的事情.
我到处寻找这个问题的答案,但找不到任何东西......
我们有一台服务器,在它上面我们有一个带有 API 的 PHP 服务。
我们最近编写了一个与 API 交互的 PHP 应用程序。当它上线时,API 和应用程序将位于同一服务器上。
但是,当它们位于同一服务器上时,从应用程序到 API 的 cURL 请求始终返回 false。我确信这一定与服务器路由请求的方式有关。有什么方法可以使其正常工作吗?
$url = 'http://api.some_address_on_the_same_server.com';
$postdata = array(...);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch); // $result is always false when on the same server for some reason
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)