对象的使用

           其实属于很不情愿提到这么一段,说到对象又要无止境的扯到面向对象啊  OOP 啊  MVC啊   ,什么的了 又是一大堆东西!简单阐述一下,能不能把OOP和MVC分开就好了,对于PHP而言面向对象和面向过程要适当的取舍,不要一条道走到黑!

          大家不经意的可以去翻翻代码,你会找到很多  $pro = new proModel();之类的东西,尤其是对于面向对象而言的程序,很多时候一段代码里面过多的在NEW对象!然后下一段代码又是不停的NEW,整个控制器里面,多个方法都在做重复的NEW对象!这看着很不是滋味,而且代码质量等都不好!现在很多程序员依赖性十分强,就好比最近群内一个新学YII框架的初学者,在群里问了许多我看都不想看的问题,对于PHP而言,框架性是件好事,但是一味的盲目的去跟就很不对了,总不能你会了YII,就不知道怎么玩THINK然后拿个cake又不懂了!典型的模版程序员!

         为此我还是很慢的从最简单说把!怎么把对象成堆NEW的事情给解决呢?也许很多人会很习惯的public $pro,然后在init中$pro = new proModel,然后再使用中$this->pro用的很爽,其实这是一种不错的方式,只是慢慢的你又会发现还是感觉很多鸡肋的代码,然后自己的代码结构很不好!就好像有时候明明一个三元可以完成的事情,很多人喜欢用if else一样!慢慢的我们会想到用静态方法调用

public static function create(){
        return new self;
    }

然后可以直接class::create()->fun(),这样就感觉高级了一点点了!然而,慢慢的我再次发现了,这是一种很不负责的方式,因为你无限的在创建新的对象,然后把垃圾回收全部丢给PHP,这是很大程度的资源浪费!最近看了一些设计模式的资料(其实对于PHP这种没有重载的语言而言将设计模式研究太多个人觉得没含义,但是了解是必须的),单例模式,马上出现在眼前,这种我不仅一次的认为很废的设计模式,我惊讶的发现会很好的解决目前的难题->

private static $_instance;
    public static function instance() {
        if ( !self::$_instance ) {
            self::$_instance = new OrderModel;
        }
        return self::$_instance;
    }

顺便说句在前面的一章中那两个载入JS和CSS的方法中有个比较大的问题,这也是我最近工作中爆发出来的,对于前端样式而已,如果在头部之前有东西输出,那么整个样式都会乱掉,而我在方法中直接使用了echo ,所以建议大家最好使用return,然后在程序中echo 出来就好了!如果已经使用了,怕影响前面的东西,加一个type参数就好了!任何东西都是慢慢的变的完美的,所以喜欢大家和我一起从菜鸟慢慢的打怪升级把!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值