Author: admin

2013PHP技术峰会《Bug Free的PHP开发实践分享》摘录

 

上次参加了2013PHP技术峰会,非常精彩,很受益。最近空闲下来,把嘉宾的PPT下载下来看了一通,当然有大牛的主题对我这个菜鸟来说还是看不懂。这里摘录了@高春辉 老师的《Bug Free 的 PHP 开发实践分享》的主题分享内容,我觉得很有价值很有实践指导意义,没有晦涩的技术流,但是很多都是PHP实践中值得注意的细节点。…

thinkphp的缺点,好的代码应该是什么样的

好的代码应该是语义化的、自解释的,配合文档注释和单元测试,甚至可以说代码本身就是文档。说真心话,thinkphp的源代码根本没心情读下去,我猜凡是读过symfony、laravel、phalcon等流行源代码的应该都没心情去读thinkphp。
我觉得thinkphp在国内的流行是一个错误,这误导了很多人,为了写这个评论,我忍受痛苦git clonehttps://github.com/liu21st/thinkphp.git 翻开源代码一点点表达下自己的感受。…

    

PHP程序员如何理解依赖注入容器(dependency injection container)

PHP程序员如何理解依赖注入容器(dependency injection container)

背景知识

传统的思路是应用程序用到一个Foo类,就会创建Foo类并调用Foo类的方法,假如这个方法内需要一个Bar类,就会创建Bar类并调用Bar类的方法,而这个方法内需要一个Bim类,就会创建Bim类,接着做些其它工作。…

控制反转(IoC)与依赖注入(DI)

1.控制反转(Inversion of Control)与依赖注入(Dependency Injection)

控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。
IoC是一个很大的概念,可以用不同的方式来实现。其主要实现方式有两种:<1>依赖查找(Dependency Lookup):容器提供回调接口和上下文环境给组件。EJB和Apache Avalon都使用这种方式。<2>依赖注入(Dependency Injection):组件不做定位查询,只提供普通的Java方法让容器去决定依赖关系。后者是时下最流行的IoC类型,其又有接口注入(Interface Injection),设值注入(Setter Injection)和构造子注入(Constructor Injection)三种方式。

话说 依赖注入(DI) or 控制反转(IoC)

科普:
首先依赖注入和控制反转说的是同一个东西,是一种设计模式,这种设计模式用来减少程序间的耦合,鄙人学习了一下,看TP官网还没有相关的文章,就写下这篇拙作介绍一下这种设计模式,希望能为TP社区贡献一些力量。

首先先别追究这个设计模式的定义,否则你一定会被说的云里雾里,笔者就是深受其害,百度了N多文章,都是从理论角度来描述,充斥着大量的生涩词汇,要么就是java代码描述的,也生涩。…

理解PHP 依赖注入|Laravel IoC容器

看Laravel的IoC容器文档只是介绍实例,但是没有说原理,之前用MVC框架都没有在意这个概念,无意中在phalcon的文档中看到这个详细的介绍,感觉豁然开朗,复制粘贴过来,主要是好久没有写东西了,现在确实很懒变得!

首先,我们假设,我们要开发一个组件命名为SomeComponent。这个组件中现在将要注入一个数据库连接。

在这个例子中,数据库连接在component中被创建,这种方法是不切实际的,这样做的话,我们将不能改变数据库连接参数及数据库类型等一些参数。…

php中的数种依赖注入

 

php中的数种依赖注入

 

经常看到却一直不甚理解的概念,依赖注入(DI)以及控制器反转(Ioc),找了几篇好的文章,分享一下。 自己理解的,依赖注入就是组件通过构造器,方法或者属性字段来获取相应的依赖对象。

举个现实生活中的例子来理解, 比如我要一把菜刀 如何获得
1.可以自己造一把,对应new一个。
2.可以找生产菜刀的工厂去买一把,对应工厂模式。
3.可以打电话 让店家送货上门,对应依赖注入。