zoukankan      html  css  js  c++  java
  • 从Java转PHP的编程感受

    学Java出身的,学得也很平常,没什么亮点。从一开始的servlet 到 struts2 到springMvc 从jdbc 到ibatis mybatis。基本上增删改查跑一边吧。

    如今参加工作了,写了6个月的PHP。今天突然之间有点感悟,记录一下。

    因为公司的原因,项目总是再换,总是没做完,我总是坐着很多相同的事情。所以有时候,我觉得很累。项目经理会说,你有了前面的基础应该就很快了吧。(他是非专业的)。让我更加累。一是进度赶,然后是身心俱疲,人的重复不像for循环。我们很快就厌烦了。而for它是没有感知能力的。

    就在这样的一个环境下,我可能有意无意的再审视自己的代码。今天我比较了一下和以前写Java的思路,我发现,我今天写着的代码是最开始我写Java的servlet 业务层 数据层 全部都是写在一块的。因为有了JSP 所以当初视图却还是分开的,现在写的PHP 视图同样也还是分开了。

    在我现在的写法中经常看见类似这样的代码。《框架doitphp》

        //药品
        public function medComAction(){
            $this->display('medicines/medcom');
        }
        //单个问答页面
        public function pushAction(){
            $this->display('medicines/push');
        }
        //系统药品库
        public function medSysAction(){
            // 系统药品库
            $modelForSysproduct = $this->model('Sysproduct');
            $resForSysproduct = $modelForSysproduct->order('id desc')->findAll();
            var_dump($resForSysproduct);
            $this->display('medicines/medsys');
        }

    没有写任何东西的话,这其实就是对请求做重定向处理,类似Java的action,action只负责跳转,二具体在跳转之前要做什么事情,这输入业务层。

    这段代码的第三个方法,我在调用数据,意思,我的数据层读写,也写在了这里。然后在Java中这应该是放在dao层的。

    说道dao,这里就要提起PHP 一些框架的model这个类。他是数据数据层的一个基类。封装了基础的方法。

    然而一般的话,浅显点儿理解。一个表,会对应一个model. 在想想Java Java中一个对象,对应一个数据层的xml配置文件。一对一。

    这里我不知道这么说可不可以,有时候面向对象编程,一定意义上可以说是面向数据库编程。

    Java 中一个对象的 dao层 会封装这个对象,对应操作数据库的所有方法。所以同理,PHP这里的model其实也就充当着这个角色。

    所以框架的设计者一开始是没有错的。然后我又看了下框架的目录结构图

    在application目录,我一般没用到过。我想可不可以作为实体bean的目录。只要想就可以的。

    积累知识,分享知识,学习知识。
  • 相关阅读:
    hdu 5877 (dfs+树状数组) Weak Pair
    hdu 5876 (补图BFS) Sparse Graph
    bzoj 1051 (强连通) 受欢迎的牛
    UVA 10054 (欧拉回路) The Necklace
    HYSBZ 2743 (树状数组) 采花
    Codeforces 702C Cellular Network
    ZAB协议(Zookeeper atomic Broadcast)
    分布式一致性协议-2PC与3PC(二)
    分布式架构(一)
    redis集群
  • 原文地址:https://www.cnblogs.com/bin-pureLife/p/4000168.html
Copyright © 2011-2022 走看看