从Java转PHP的编程感受

作者从Java转向PHP开发,在不断变化的项目中积累经验。对比两种语言的编程方式,发现当前的PHP代码风格与最初Java的servlet相似,即将业务逻辑与数据操作混合。这引发了对代码组织及框架设计的思考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学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的目录。只要想就可以的。

转载于:https://www.cnblogs.com/bin-pureLife/p/4000168.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值