PHP的一些问题

今天被pdo的lastInsertId折腾了一下午,实在是醉了,使用exec执行insert导致lastInsertId返回的始终是0,必须使用prepare/execute才能正常获取。

好多时候都觉得PHP为什么这么随意啊,empty/isset/is_null,嘿,真TMD奇葩啊(我就爆粗了怎么了,不能忍)。可能是历史遗留原因,或者是有一些我不知道的原因请一定指出来,一直很奇怪当初设计的时候为什么不能是:is_empty/is_set/is_null,或者是:isEmpty/isSet/isNull?这样的例子还体现在str类函数上,这里面还有参数顺序的问题,比如str_replace目标字符串在后面,substr/strpos在前面,我就想问下,一门语言怎么能随意到这种程度呢?

另外还有类型转换,每次拿到用户传过来的值都有点怕怕呢,很多方法不加strict都不敢用呢,我问你为什么这样,你说:因为我“弱”啊!你看只要你不用===,判断我都可以一溜烟跑下去呢!

剩下就是异常,可预见性的要么是exit/die,高大上一点的就用Exception,不过大多数Exception还要我自己抛呢。这还没完,大人您还有error呢,还有等级呢,异常还捕获不到呢,要做跳板呢。

阅读 2.8k
2 个回答

不要遇了点挫折就全盘否定好不好。被PDO折腾一下下午说明你对PHP还不够熟悉而已,就算不熟悉,难道没有手册,不会百度吗,网上找一个完整可用的例子看完再写不行?这也能怪PHP?用句潮语来说:“我也是醉了”。要多点从自己身上找问题好吗?

你说的函数名不统一、比较乱等问题,本身就是有它的历史原因,PHP的使用者众多,很多东西不是说改就改的。当然随着时间推移,我们现在慢慢看到PHP在不断进步,PHP7.0也即将发布了,它所做的性能优化和新添加的特征,都是值得我们期待的。

以前也用过JAVA,现在用PHP也差不多3年了,也没有感觉弱类型有什么不好的,习惯了你就完全可以把控它。

有时候,发发牢骚没关系,特别是不熟悉的时候都容易这样。但一门语言你既然选择它,就是看中它的优势来的。老是盯着它的不好还怎么学、怎么进步。如果觉得它哪里不好,自己可以尝试找办法去解决或者弥补它的不好,当然前提是你花更多时间去了解它。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题