`
hideto
  • 浏览: 2666672 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP、CakePHP哪凉快哪呆着去

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

装了PHPeclipe和xampp,google到PHP手册
一起就绪,学起PHP来,发现PHPeclipse的代码提示做的很不错。
可是慢慢看手册,我慢慢发现,都说PHP开发小型项目快,但是页面里嵌入一坨一坨的逻辑代码,非常不爽啊。
在看到MySql函数这章时,我已经完全受不了了!
<?php
// 连接,选择数据库
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('my_database') or die('Could not select database');

// 执行 SQL 查询
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

// 用 HTML 显示结果
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t<td>$col_value</td>\n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";

// 释放结果集
mysql_free_result($result);

// 关闭连接
mysql_close($link);
?> 

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

太无奈了!

我继续google,得到一份CakePHP Manual,以前没细看Cake,只了解它是Rails的盗版。
看看Cake Blog Tutorial上手吧。
结果PHPeclipse竟然不支持thtml文件的语法高亮、代码和标签提示!
郁闷之中,抱着忍者无敌的精神一行一行代码的敲,细细体会CakePHP开发是有多Rapid。
posts_controller.php:
<?php
class PostsController extends AppController
{
	var $name = 'Posts';
	
	function index()
	{
		$this->set('posts', $this->Post->findAll());
	}
	
	function view($id = null)
	{
		$this->Post->id = $id;
		$this->set('post', $this->Post->read());
	}
	
	function add()
	{
		if (!empty($this->data))
		{
			if ($this->Post->save($this->data))
			{
				$this->flash('Your post has been saved.','/posts');
			}
		}
	}
	
	function edit($id = null)
	{
		if (empty($this->data))
		{
			$this->Post->id = $id;
			$this->data = $this->Post->read();
		}
		else
		{
			if ($this->Post->save($this->data['Post']))
			{
				$this->flash('Your post has been updated.','/posts');
			}
		}
	}
	
	function delete($id)
	{
		$this->Post->del($id);
		$this->flash('The post with id: '.$id.' has been deleted.', '/posts');	
	}
}
?>

index.thtml:
<h1>Blog posts</h1>
<p><?php echo $html->link("Add Post", "/posts/add");?></p>
<table>
	<tr>
		<th>Id</th>
		<th>Title</th>
		<th>Created</th>
	</tr>
	
	<?php foreach ($posts as $post): ?>
		<tr>
			<td><?php echo $post['Post']['id']; ?></td>
			<td>
			<?php echo $html->link($post['Post']['title'],"/posts/view/".$post['Post']['id']); ?></td>	
			<?php echo $html->link('Delete', "/posts/delete/{$post['Post']['id']}", null, 'Are you sure')?>
			<?php echo $html->link('Edit', "/posts/edit/".$post['Post']['id']);?>
			</td>
			<td><?php echo $post['Post']['created']; ?></td>
		</tr>
	<?php endforeach; ?>
</table>


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

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

PHP、CakePHP,地球不适合你们。
分享到:
评论
86 楼 iefreer 2011-10-18  
偶然看到这篇文章。
PHP语言本身也在发展中,单纯从语言本身的成熟度而言,PHP不如C++/Java/Python/ruby。PHP更多给人草根的感觉,易学易用。
但是如果放大到互联网的角度来看,正是PHP的草根性、广大开源社区和广大PHPer的推动才使得PHP在互联网领域成为最流行的语言。而C/C++不适合快速构建互联网应用,J2EE过于繁杂且受制于某些特殊利益体推动的标准化组织。
没有完美的东西,只有适合的东西,PHP为互联网而生,互联网因PHP而迅速普及。最近的统计数据表明排名前100万网站中,多达34%的网站使用PHP编写,ASP以20%居于第二位,而J2EE只占2%。
再来讨论一下CakePHP,该敏捷框架在07/09年之间迅速发展,曾被Standford的文章评为Most Popular PHP Framework,并拥有Mozzila,MIT,Onion,Standford等大客户。09年年底,Mozzila决定从CakePHP迁移到Django平台,给出的理由是当时的Cake1.1版本不能很好的支持测试、ORM有缺陷(返回数组而非对象)、非基于PHP5等。这些问题在Cake2.0中已经不存在,Cake2.0完全基于PHP5,使用PHPUNIT作为测试解决方案。另外从1.2到1.3到2.0,CakePHP核心流程的性能得到了大约30%以上的提升。个人认为,CakePHP在PHP领域,仍然是首选。
还有一个非常常见的认识错误,那就是写一个hello world程序来做benchmark。在controller里面填写变量$output = 'hello world',然后在view中echo $output,然后用ab测试,你会发现CI甚至Zend等框架比CakePHP快得多,但这没有任何意义,因为框架之间对于基础模块加载的逻辑并不一样,CakePHP会默认加载一些通用模块,比如建立数据库连接,尽管hello world并未使用任何Model,这仅仅是默认加载策略的不同而已。因为现实世界中,你不可能写一个hello world网站。正确的测试方法是分别写一个简单的博客应用,对这个博客应用进行测试,测试结果将相差无几。这个时候,开发效率/框架成熟度/社区支持/语言偏好/团队技能等才是最终的决定因素。

brs,
iefreer
85 楼 yushine 2010-12-03  
三年多了,php还很热,Cakephp还没凉快下来。
84 楼 sunshine1988 2010-10-02  
忍不住赞LZ一句NC~
刚刚接触一门语言就在这儿妄加评论~
太浮躁肤浅~
83 楼 yunti 2010-08-26  
所以5年后··你们灭亡了···
82 楼 ycmhn 2010-02-23  
“这位兄弟心态很好呵呵
ruby不用你说我在工作中用了2年了
我倒是建议只用php的那帮自以为是的人用用ruby再来理论”
楼上那位这话说得好像经常使用各种语言似的~
ruby一般也就搞java当作宝,经常搞脚本的好像没这么热捧的。
学了perl,学了smalltalk,但是学得四不像。
语法比perl复杂,代码读起来比smalltalk烂。
就算一个perl程序员都可能受不了ruby那“灵活”的写法
81 楼 applestar 2010-01-04  
肤浅          
80 楼 sofire 2009-12-24  
我也是在google搜的cakephp,同意无语
79 楼 bleedman 2009-12-09  
在google搜个cakephp居然搜出了这么个东西。。真的是无语了
自己也没什么资格去评论哪个语言好哪个语言差什么的,但是语言么,哪个用着顺手就哪个,存在即是合理,但是LZ这态度,实在是不好说LZ什么。只想问一句,LZ写程序是不是不想用大脑的。。。
78 楼 tanggq 2009-11-21  
ruby嘛,开发确实快,但有几个能真正理解rails的,复杂性可见一班,部署上显然比不上PHP

java嘛,一大堆的设计模式和对象,对于PHP来说,很多都是多余的

PHP吗?如果你真正理解web,才能更好地理解PHP?反过来。php是最理解web的!


当你还在一大堆OOP和设计模中打转的时候,PHP的解决方案早就出来了!

可以这么说吧,用PHP的人多是架构师,用java人多是程序员!

77 楼 leishao 2009-08-25  
楼主太强大啊。两年了本帖直接上google排名的前列了。
76 楼 xhanxhanxhan 2009-08-17  
一年前关注过此贴。。
没相当现在还是依旧热闹。。
如果我有LZ这实力也可以说:
JAVA 垃圾哈哈哈
75 楼 night_stalker 2009-08-17  
本人一开始打死不想学 ruby,以玩弄 dynamic proxy 、reflection、annotation 为乐。
后来在一本 java 书(注意是 java 书)里看到:以前用 php 做了一个月的站,用 rails 只一周就搞定了。于是也加入了鄙视 php 和 java 的行列 ……
同情 lz,在博客里表达一下优越感都被人排队上门扔砖数年 ……
74 楼 下一站,火星 2009-08-17  

1 php有个很大的优点是很好招人
2 php是很杂糅的代码风格,但却适合做web开发
73 楼 liuxingyuyuni 2009-02-19  
接着吐他的无知......

可见水平一般
72 楼 fnsoxt 2009-02-16  
ruby是什么玩意儿,从来不吊ruby.只看php和python。java不适合我
71 楼 hideto 2009-01-17  
swims 写道

&nbsp;&nbsp;&nbsp;&nbsp;





&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大家都对楼主批了这么久呀,还是希望大家语言不要太过火,都是搞技术和应用的人 ,前些日子有实际应用需要,慢慢接触php感觉效率非常高,代码操作简易,集成度高。需要了解很多变量,还有很多模拟MVC的框架。刚开始有些别扭 。
虽然时间不长,感觉php还是很不错的 做网站效率都很高 ,但是脚本代码和html大量的混合 对一个经常从事java的程序员确实有些繁杂,每一门语言都不是完美的 ,每一门语言都有缺陷 。还是建议学学 本人感觉还是很不错,接触像ruby&nbsp; php等其他方面&nbsp; 你会感觉这个世界还是很广阔的,本人过去常常做j2ee方面。希望交到不错的兄弟!&nbsp;&nbsp;&nbsp;&nbsp; QQ:408283919


这位兄弟心态很好呵呵
ruby不用你说我在工作中用了2年了
我倒是建议只用php的那帮自以为是的人用用ruby再来理论
70 楼 swims 2009-01-16  
    





            大家都对楼主批了这么久呀,还是希望大家语言不要太过火,都是搞技术和应用的人 ,前些日子有实际应用需要,慢慢接触php感觉效率非常高,代码操作简易,集成度高。需要了解很多变量,还有很多模拟MVC的框架。刚开始有些别扭 。
虽然时间不长,感觉php还是很不错的 做网站效率都很高 ,但是脚本代码和html大量的混合 对一个经常从事java的程序员确实有些繁杂,每一门语言都不是完美的 ,每一门语言都有缺陷 。还是建议学学 本人感觉还是很不错,接触像ruby  php等其他方面  你会感觉这个世界还是很广阔的,本人过去常常做j2ee方面。希望交到不错的兄弟!     QQ:408283919
69 楼 lifei800 2008-12-29  
哎,真不知道怎么说你好
68 楼 crossmaya 2008-12-28  
Julian 写道

人家说的是php本身语法设计的就差。没办法,因为php本身就不是大师设计的语言(记得是某程序员心血来潮的作品),主要是替代cgi的。只是够流行
还有就是他进程运行,稳定,内存回收快。当然缺点也是一大堆,处理个session和application都要借助其他技术实现。

你丫也是一弱智 跟楼主一样 你看楼主那擦行 我都懒的骚他

长的就欠打
67 楼 isno 2008-12-04  
你写的这叫php?

相关推荐

    PHP的框架之CakePHP-CakePHP教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

    phpmvc框架cakephp

    CakePHP有稳定的版本更新,如文件名所示的1.3.0-alpha,标志着它在不断进步和完善。同时,其活跃的社区提供丰富的文档、教程和问题解答,确保开发者能够获取必要的支持。 总的来说,CakePHP作为PHP的MVC框架,以其...

    CakePHP PHP MVC框架

    **CakePHP:PHP MVC框架详解** CakePHP是一个广泛使用的开源PHP框架,它基于Model-View-Controller(MVC)架构模式,旨在简化Web应用程序的开发流程,提高开发效率,并且支持快速原型制作。这个框架以其易用性、可...

    cakephp php-framework

    There are two main ways to get a fresh copy of CakePHP. You can either download an archive copy (zip/tar.gz/tar.bz2) from the main website, or check out the code from the git repository. To download ...

    CakePHP php框架 v3.7.8.zip

    CakePHP php框架简介 CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild...

    CakePHP php框架 v3.7.0 beta1.zip

    CakePHP php框架简介 CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild...

    CakePHP php框架 v3.8.5

    CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...

    PHP的框架之CakePHP-CakePHP教程终极教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

    Building PHP Applications with Symfony, CakePHP, and Zend Framework.pdf.rar

    解压密码在:http://www.pin5i.com/showtopic-building-php-applications-with-symfony-cakephp-zend-framework.html

    CakePHP php框架 v5.0.7

    CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...

    CakePHP1.2.3.8166.7z CakePHP最新稳定版

    《深入理解CakePHP 1.2.3.8166:PHP的高效框架实践》 CakePHP,作为PHP世界中的一款知名MVC(Model-View-Controller)框架,以其简洁、高效的特性深受开发者喜爱。在本文中,我们将深度探讨最新的稳定版CakePHP 1.2...

    CakePHP-PHP框架

    - **灵活的许可协议**:CakePHP采用MIT许可证,这意味着它可以被自由地用于商业或非商业项目。 #### 二、选择CakePHP的理由 1. **活跃友好的社区**:CakePHP拥有一个非常活跃和支持性的社区,这为开发者提供了丰富...

    cakephp-1.2 manual

    CakePHP 是一个基于Model-View-Controller(MVC)架构模式的开源PHP框架,它简化了Web应用程序的开发流程,提高了代码的可读性和可维护性。 在手册中,你会了解到以下核心知识点: 1. **安装与配置**:首先,你...

    Cakephp安装和配置

    ### CakePHP 安装与配置指南 #### 一、前言 本文档旨在详细介绍如何在特定环境下安装并配置 CakePHP 框架。所使用的环境包括 Apache 2.2.21、MySQL 5.5.20 和 PHP 5.3.10,操作系统为 Windows 7 Ultimate 32位。 #...

    CakePHP 1.2 API 中文文档

    **CakePHP 1.2 API 中文文档** CakePHP 是一个基于MVC(Model-View-Controller)架构的开源PHP框架,它旨在简化Web应用程序的开发,并提高开发效率。 CakePHP 1.2 API 中文文档是针对这个版本的详细技术参考,为...

    cakephp-2.4.1

    《CakePHP 2.4.1:PHP与MySQL的MVC框架详解》 CakePHP,一个基于Model-View-Controller(MVC)架构模式的开源PHP框架,以其简洁、高效和可扩展性在Web开发领域备受青睐。在本文中,我们将深入探讨CakePHP 2.4.1...

    cakephp 框架

    CakePHP是一款基于MVC(Model-View-Controller)设计模式的开源PHP框架,它旨在简化Web应用程序的开发过程,提高开发效率。以下是对 CakePHP 框架的详细阐述: 一、简介 CakePHP 是一个遵循 Model-View-Controller ...

Global site tag (gtag.js) - Google Analytics