草庐IT

依赖树

全部标签

php - 依赖注入(inject)和工作单元模式

我有一个难题。我使用DI(阅读:工厂)为自制ORM提供核心组件。容器根据请求提供数据库连接、DAO、映射器及其生成的域对象。这是映射器和域对象类的基本概述classMapper{publicfunction__constructor($DAO){$this->DAO=$DAO;}publicfunctionload($id){if(isset(Monitor::members[$id]){returnMonitor::members[$id];$values=$this->DAO->selectStmt($id);//fieldmappingprocessomittedforbrevi

php - 如何处理不是 "real"依赖项的依赖项?

我有一个“验证器”类,可以对一组数据进行任意检查。例如,检查数组中给定值的字符串长度。验证器还可以检查给定值并查看它在数据库中是否唯一。我想对这个类进行适当的依赖注入(inject),但是,我正在努力解决如何在这种情况下实现它。验证器不需要数据库连接即可运行。所有其他验证检查都可以在没有数据库连接的情况下正常工作。现在,我可以选择使用属性注入(inject)来指定连接。或者,如果没有通过属性注入(inject)指定连接,我将使用服务定位器模式来解析来自IoC容器的默认连接。我做错了吗?处理类运行不需要的类依赖项的正确方法是什么?我目前像这样使用验证器:$rules=array('ema

php - Zend Server Job 前身失败依赖

我使用ZendServerJobs并设置最大并发作业数=4,需要此设置-许多高优先级作业需要尽快处理。我还有低优先级的作业,执行时间长5-7分钟-繁重的数据库操作-我希望这个作业一次运行一个-如果并行运行会竞争数据库资源和超时。我有创建它们的循环(大约30个工作),我正在使用getJobsList()检查队列中是否存在具有适当名称的工作,获取最大的工作ID并设置为下一个工作的前身。然而,即使作业已经创建(第二次迭代)也不会被getJobsList()拾取,并且后续迭代不会拾取最大/最新的作业ID...在创建工作时是否涉及延迟?createHttpJob()和以下getJobsList(

php - 在哪里加载 Controller 依赖类?

我正在用PHP制作我自己的原始MVC框架,我想知道我应该在哪里加载/实例化相应的Controller依赖项?在每个Controller的构造函数中(紧耦合)还是注入(inject)它们(松耦合)?我不太确定后者的唯一部分是在注入(inject)之前在MVC范例之外的Bootstrap级别实例化依赖项。除了默认的父Controller之外,并非每个Controller都使用完全相同的依赖项。我必须将它们全部实例化,这也会产生大量开销。我见过一些现有的框架像$this->load->model('model');//构造函数中的CodeIgniter,但我不知道他们为什么这样做。

php - 具有依赖项的子主题排队

我正在尝试创建一个子主题。父主题有一个style.css和所有内容,我正在查看wp_enqueue_style()函数,它说您可以包含依赖项。所以这意味着主题自己的style.css可以激活,并且在我的子主题中,如果我在我的style.css中指定相同的规则,它应该覆盖它。但是依赖是一个句柄数组。我如何找到这些句柄?wp_enqueue_style('mytheme-style',get_stylesheet_directory_uri().'/style.css',array('main_css'));我试过上面的方法,但它只从子主题而不是父主题加载style.css。我在哪里可以找

php - 在 Laravel 5 中实例化依赖关系,好方法

如果我对所需的类/接口(interface)进行类型提示,Laravel5会提供自动依赖解析。但是它们应该如何实例化呢?示例:publicfunction__construct(Dependency$dependency){$this->dependency=$dependency;}然后,在另一种方法中,我想创建两个实例,如下所示:$one=newDependency(1);$two=newDependency(2);执行此操作最灵活且最易于测试的方法是什么? 最佳答案 请原谅我的拙劣笑话,但这要视情况而定。看来您对解决依赖关系有

php - Laravel 依赖注入(inject) Auth::

我有一个带有CalendarService的laravel项目,我将该服务注入(inject)到我的Controller中。在构造函数中我做了这样的事情:日历服务.php/**@varCollection|Timelog[]*/private$timelogs;publicfunction__construct(){$this->currentRoute=URL::to('/')."/home";$this->timelogs=Auth::user()->timelogs()->get();$this->currentDay=0;}HomeController.php/**@varCa

php - 在自己的可重用库中提供依赖注入(inject)

背景我正在编写一些可重用的库,其中包含几个类。其中一个需要有依赖关系,因为一些更复杂的逻辑,我想将该类的责任委托(delegate)给其他地方(另一个类)。目标我不想创建一个包,例如SymfonyBundle可以处理我的依赖注入(inject)并提供一种将其与客户端代码集成的简单方法。我的目标是提供可重用且独立于框架的解决方案。附加信息我正在使用composer我读过有关DI容器的信息,例如php-di.有一个demophp-di的应用示例,但它不符合我的要求。例子库代码片段httpClient=$httpClient;}publicfunctionanalyze(string$url

php - 列出依赖特定 GitHub repository/library/dependency 的所有存储库

有没有办法发现所有具有特定存储库Foo/Bar作为依赖项的公共(public)GitHub存储库?我对PHP上下文很感兴趣(因此主要与Composer相关)。我想知道是否有一些特定于Composer的(可能依赖于Packagist?)或一些通用的解决方案。 最佳答案 鉴于您的具体要求,我过去这样做的一种方法是使用Google'sGitHubDataforBigQuery.例如,此查询将返回所有包含composer.lock文件并在其中提交了Foo/Bar的存储库。SELECTf.repo_nameFROM[bigquery-publ

php - 使用具有嵌套插件依赖项的自定义 wordpress 插件进行单元测试

所以我创建了一个自定义插件并实现了单元测试。到目前为止,添加WooCommerce依赖项和私有(private)插件依赖项(IconicPlugin)很容易。问题是Iconic插件依赖于WooCommerce。在每次测试中,它都认为WooCommerce未激活。因此,它没有正确实例化。标志性插件classIconic_Private_Plugin(){/***Constructor*/publicfunction__construct(){public$bar;if(!Iconic_Private_Core_Helpers::is_plugin_active('woocommerce/