[被喷了6年的帖子]PHP、CakePHP哪凉快哪呆着去

346 篇文章 0 订阅
因为公司经常有PHP的外包项目做,客户指定使用PHP来开发,而我是Java组的,没做过PHP项目,心生好奇,趁今晚有空来摸摸PHP。 

装了PHPeclipe和xampp,google到 PHP手册。 
一起就绪,学起PHP来,发现PHPeclipse的代码提示做的很不错。 
可是慢慢看手册,我慢慢发现,都说PHP开发小型项目快,但是页面里嵌入一坨一坨的逻辑代码,非常不爽啊。 
在看到MySql函数这章时,我已经完全受不了了! 
Java代码   收藏代码
  1. <?php  
  2. // 连接,选择数据库  
  3. $link = mysql_connect('mysql_host''mysql_user''mysql_password')  
  4.     or die('Could not connect: ' . mysql_error());  
  5. echo 'Connected successfully';  
  6. mysql_select_db('my_database') or die('Could not select database');  
  7.   
  8. // 执行 SQL 查询  
  9. $query = 'SELECT * FROM my_table';  
  10. $result = mysql_query($query) or die('Query failed: ' . mysql_error());  
  11.   
  12. // 用 HTML 显示结果  
  13. echo "<table>\n";  
  14. while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {  
  15.     echo "\t<tr>\n";  
  16.     foreach ($line as $col_value) {  
  17.         echo "\t\t<td>$col_value</td>\n";  
  18.     }  
  19.     echo "\t</tr>\n";  
  20. }  
  21. echo "</table>\n";  
  22.   
  23. // 释放结果集  
  24. mysql_free_result($result);  
  25.   
  26. // 关闭连接  
  27. mysql_close($link);  
  28. ?>   

数据库连接->查询->就在页面本地显示结果,加上古怪的语法、关键字和函数名,完全没有MVC的概念,简直连JSP都不如! 
看来5年前板桥对PHP的批斗是万分正确的。 

太无奈了! 

我继续google,得到一份 CakePHP Manual,以前没细看Cake,只了解它是Rails的盗版。 
看看 Cake Blog Tutorial上手吧。 
结果PHPeclipse竟然不支持thtml文件的语法高亮、代码和标签提示! 
郁闷之中,抱着忍者无敌的精神一行一行代码的敲,细细体会CakePHP开发是有多Rapid。 
posts_controller.php: 
Java代码   收藏代码
  1. <?php  
  2. class PostsController extends AppController  
  3. {  
  4.     var $name = 'Posts';  
  5.       
  6.     function index()  
  7.     {  
  8.         $this->set('posts', $this->Post->findAll());  
  9.     }  
  10.       
  11.     function view($id = null)  
  12.     {  
  13.         $this->Post->id = $id;  
  14.         $this->set('post', $this->Post->read());  
  15.     }  
  16.       
  17.     function add()  
  18.     {  
  19.         if (!empty($this->data))  
  20.         {  
  21.             if ($this->Post->save($this->data))  
  22.             {  
  23.                 $this->flash('Your post has been saved.','/posts');  
  24.             }  
  25.         }  
  26.     }  
  27.       
  28.     function edit($id = null)  
  29.     {  
  30.         if (empty($this->data))  
  31.         {  
  32.             $this->Post->id = $id;  
  33.             $this->data = $this->Post->read();  
  34.         }  
  35.         else  
  36.         {  
  37.             if ($this->Post->save($this->data['Post']))  
  38.             {  
  39.                 $this->flash('Your post has been updated.','/posts');  
  40.             }  
  41.         }  
  42.     }  
  43.       
  44.     function delete($id)  
  45.     {  
  46.         $this->Post->del($id);  
  47.         $this->flash('The post with id: '.$id.' has been deleted.''/posts');     
  48.     }  
  49. }  
  50. ?>  

index.thtml: 
Java代码   收藏代码
  1. <h1>Blog posts</h1>  
  2. <p><?php echo $html->link("Add Post""/posts/add");?></p>  
  3. <table>  
  4.     <tr>  
  5.         <th>Id</th>  
  6.         <th>Title</th>  
  7.         <th>Created</th>  
  8.     </tr>  
  9.       
  10.     <?php foreach ($posts as $post): ?>  
  11.         <tr>  
  12.             <td><?php echo $post['Post']['id']; ?></td>  
  13.             <td>  
  14.             <?php echo $html->link($post['Post']['title'],"/posts/view/".$post['Post']['id']); ?></td>     
  15.             <?php echo $html->link('Delete'"/posts/delete/{$post['Post']['id']}"null'Are you sure')?>  
  16.             <?php echo $html->link('Edit'"/posts/edit/".$post['Post']['id']);?>  
  17.             </td>  
  18.             <td><?php echo $post['Post']['created']; ?></td>  
  19.         </tr>  
  20.     <?php endforeach; ?>  
  21. </table>  


哇,这代码太华丽了!太精湛了! 

$this->Post-><?php..?>echo$post['Post']['xx']写到手软,真服了,什么烂语法啊! 
CakePHP的作者你们辛苦了,为了赶Rails的时髦让你们以及使用Cake的广大软件作坊的同仁们敲烂无数键盘,硬件商要感谢你们! 
你们是伟大的功臣!来自火星的英雄! 

PHP、CakePHP,地球不适合你们。
分享到:   
参考知识库
MySQL知识库 8763  关注 | 1396  收录
评论
125 楼  qq287767957 2015-10-24  
PHP是全宇宙最强的语言!
124 楼  diguo 2015-08-31  
找资料不小心看到这文章,实在忍不住注册一个账号第二天来发评论,你真的很菜,菜B,你有什么资格说php。你搞好自己的java就好了,php撒也不懂就乱说,傻,逼,不解释
123 楼  bigpws 2015-08-26  
服了,就你这水准,真是不敢恭维,你写了 一堆 <?php echo xxxx?>,不知道有模板驱动,不知道smart是吧?那跟你说数据库抽象层什么的更不用说了,你肯定也不知道,看了一眼写了两行代码就敢咋呼,胆子够肥的。
还说人框架,你就看了个大概就敢来这里喷?
我自问php、java都做,也做过7年多了,只是各有利弊,关键在怎么定位怎么使用,说到底,语言只有擅长和不擅长,没有优劣之分,有优劣之分的,只有使用语言的人的职业素质和coding能力。就你这觉悟,活脱脱的一辈子码农,还是测试组天天各种给你提bug的那种。
实在没忍住,专门注册了一个账号上来给你评论
122 楼  xiii130 2015-05-18  
我不会试着个一个sb争论,因为它会把我的智商拉到和它一样的水平,再凭借丰富的经验击败我
121 楼  zuoshou 2015-03-05  
我再来加把火,php是最好的语言,欧耶!
120 楼  tianwaifeixian 2015-02-26  
hideto 写道
PHP很烂,但是很流行:http://blog.csdn.net/turingbook/archive/2008/05/22/2470558.aspx



敢问 仁兄 ,php 哪里不完善 举例说明 ,别贴链接,这地方有的是哈哈、
119 楼  tianwaifeixian 2015-02-26  
matyhtf 写道
PHP Smarty做的网站,完全实现了后台程序和前台HTML隔离,生成静态页面,PHP是专门做网站的,J2EE是搞Web应用程序的。没有什么可比性。J2EE的大型电子商务系统和Sina的20000000人次新闻浏览,互相比较没有什么意义!Java动态数据库的新闻系统能应付上百万的新闻浏览么?
    在网站这方面,PHP是最棒的!


呵呵,java也可以,没问题。解决方案是方案,和语言没太多关系呵呵
118 楼  tianwaifeixian 2015-02-26  
fnet 写道
LZ,侬不适合搞技术yeqing


虽然我赞同你 说法,但是楼主不一定不适合技术,只不过眼光放得要开一点,别盲目的排斥,过段时间应该就可以了。这需要练
117 楼  tianwaifeixian 2015-02-26  
aspmax 写道
呵呵。楼主这种态度搞技术,恐怕也是那种偏爱语言之争的人物吧?看来适合永远做底层的code worker


你说的似乎很有道理啊。语言就是个工具 ,别的啥也不是。
116 楼  tianwaifeixian 2015-02-26  
fnet 写道
LZ,如果我是你们项目经理,对于你这种怕写代码的小朋友,pass...
koda 写道
请楼主不要把这么无知的言论拿出来误导别人!



也许楼主 是借这个文章来 先抑后扬呢呵呵。
115 楼  tianwaifeixian 2015-02-26  
yondy 写道
眼高手低的主



是啊 自己不行还赖语言呵呵,说啥好呢。
114 楼  tianwaifeixian 2015-02-26  
never7 写道
你们客户做php找错人了...neve


您说的对啊!
113 楼  tianwaifeixian 2015-02-26  
syre 写道
就算是用php来做模板,也是可以打开short_open_tags的。
至于Cake,没仔细看就下结论实在是太不负责任了。



他们不懂,不要怪他们,看到这些文章和 评论,我也真实醉了。
112 楼  tianwaifeixian 2015-02-26  
呵呵纯属炒作啊 ,凡是嘲笑语言掠视的 那就是一被子做苦逼+屌丝程序员的命,没事琢磨点别的学点好啊 ,各位同学们
111 楼  掌心童话 2015-01-13  
    我想说我也是Java背景,在学PHP的人。但是只看一点,就基本上能断定你是个学艺不精的人。自己学地不好不要妄下推断。
   
110 楼  梦里萱草开 2014-09-16  
搜索cakephp进来的~
109 楼  wichtig 2013-12-10  
原来楼主是用ruby,能说出这样的话也难怪,ruby的语法确实比php简洁易懂,rails更不用说了,后来很多php框架都是模仿rails的,但在web开发领域,java是不比php有优势的
108 楼  xuzhijian17 2013-11-25  
评论撑起了一片天,对楼主的抗压性表示崇敬,这都6年了,还没删帖。
107 楼  ba5eat 2013-07-23  
不得不说此贴非常牛,好几年了都,,居然还排在第一页。服了
106 楼  zcqstxdi 2013-07-16  

整整被喷了6年的帖子


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值