2007-07-27

PHP、CakePHP哪凉快哪呆着去

关键字: 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,地球不适合你们。
评论
lzjyrg 2008-06-23
楼主!对你无语了!
不知道你是怎么想的!一叶ZHE目!

不要对自己不了解的一门技术说那不行!

别的不知道,在WEB开发上JAVA个人觉得真的不如PHP!!
Aryang 2008-06-19
无知者无畏啊
hideto 2008-05-28
PHP很烂,但是很流行:http://blog.csdn.net/turingbook/archive/2008/05/22/2470558.aspx
Julian 2008-05-16
人家说的是php本身语法设计的就差。没办法,因为php本身就不是大师设计的语言(记得是某程序员心血来潮的作品),主要是替代cgi的。只是够流行
还有就是他进程运行,稳定,内存回收快。当然缺点也是一大堆,处理个session和application都要借助其他技术实现。
23c 2008-04-03
这里好热啊,楼主可以试试ThinkPHP这个框架。强烈推荐,国人开发的噢!!!
blackanger 2008-04-02
引用
看来是戳了众多PHP拥趸者的马蜂窝了啊,呵呵

转眼过了8个月过去了,我还是想说:他妈的幸好我这半年不用接触PHP这门垃圾语言!


是比较垃圾。我虽然没有搞过,但是在项目中从客户那得到一陀php源码来了解他们的业务,真是s.h.i.t.
hideto 2008-03-30
看来是戳了众多PHP拥趸者的马蜂窝了啊,呵呵

转眼过了8个月过去了,我还是想说:他妈的幸好我这半年不用接触PHP这门垃圾语言!
kfxue 2008-03-30
引用
Eclipse的语法加亮, sxin 已经说过了,我另外补充几点给楼主的建议:

1. "客户指定使用PHP来开发", 客户肯定是有理由的。php 作为一种适合 web 开发的语言,其市场占有率之高已经到了一个地球人都知道的地步了,yahoo, flickr, facebook 用php太成功的经典实例,我就不需要再重复了吧。

2. 如果楼主喜欢用java ,完全可以在php 里面调用java的类库,这样既满足了客户的需求,又不妨碍自己的兴趣,又可以多一个php+java的项目经验,何乐不为呢?

3. 对于一个程序员来说,偏执和偏激并不能在职业生涯中给你多少帮助,麻烦楼主不要破坏我们"IT从业人员"的整体形象。

4. 我很高兴我们的team里面没有楼主这样的人,老天保佑以后也不要有,无论今后我们采用什么技术来开发自己和客户的项目,skill总是可以被training 被提高的,而人的心态和性格,却是天生的,工作已经很辛苦了,还要忍受team member的肤浅和狂妄,that will be very unlucky.
很赞同此作者观点,肤浅的认识,你的java开发水平有到了什么地步,你也开发个framework出来,让N多中国开发者使用的时候在大放厥词吧。所以是你那凉快哪待着吧
pdreamer 2007-12-09
实在佩服楼主学了半天的php就一鸣惊人了,而且博客还引来这么多的反响
pdreamer 2007-12-09
当初我刚学c到时候,觉得c只能做+-×/,而且只能在黑乎乎的窗口里进行,真想不通操作系统啊,驱动程序啊,是什么使用c的
goyoyo315 2007-10-30
无语中。。。。。。。。。。。。。。
楼主,狂人.....
weskycn 2007-10-12
很爽!
myyate 2007-10-10
其实楼主错了,你可以看看很多论坛的源代码,他们的web层和业务层分离做的不比java差,看看他们用PHP5把数据访问封装的和ADO一样,就可见PHP不是你想象的那么简单。
至于说你的html代码混乱,这个完全是你自己要这样写?你可以看一下,他们论坛的html代码就和velocity的代码一样简洁
duwei 2007-10-05
就楼主……这水平……也敢发……这文章。破坏了我对JAVAEYE的印象。
waixin 2007-09-30
<?php echo ?>
你可以用 e(),或__()代替
每门语言都有自己的长和短处
xtcn 2007-09-30
呵呵,Java能排到第一
说明是商业对技术的压倒性胜利:)
davexin 2007-09-29
http://www.tiobe.com/index.htm?tiobe_index

1。世界前20位语言排行榜: 
Position
Sep 2007 Position
Sep 2006 Delta in Position Programming Language Ratings
Sep 2007 Delta
Sep 2006 Status
1 1 Java 21.701% +0.17% A
2 2 C 14.908% -3.15% A
3 4 (Visual) Basic 10.748% +0.12% A
4 5 PHP 10.204% +1.08% A
5 3 C++ 9.938% -0.82% A
6 6 Perl 5.416% -0.01% A
7 8 C# 3.583% +0.59% A
8 7 Python 3.025% -0.12% A
9 9 JavaScript 2.722% +0.28% A
10 13 Ruby 2.065% +1.13% A
11 12 PL/SQL 1.860% +0.82% A
12 11 SAS 1.395% -0.54% A
13 16 D 1.370% +0.82% A
14 10 Delphi 1.224% -0.88% A
15 17 ABAP 0.706% +0.15% A--
16 14 Lisp/Scheme 0.633% -0.02% B
17 15 COBOL 0.630% +0.07% B
18 50 Lua 0.572% +0.51% B
19 19 Ada 0.566% +0.03% B
20 21 Fortran 0.478% +0.08% B

从上面统计看出,php确实不如java,但是搂住有点偏激,大家也不要对它批评的太狠了,不同的人有不同的观点。
bhfeet 2007-09-28

由此看出,“第一印象”是多么的重要啊!!
hideto 2007-09-28
我只是不喜欢PHP罢了,每个人都有自己偏爱的技术
实际上目前我只关注Ruby,RoR,JavaScript,jQuery,CSS,Mysql,Linux,Agile Development这些技术,这也是我目前工作相关或者以后工作相关的技术,其他技术我根本用不上

P.S.很高兴的是我已经跳出了外包行业的怪圈
大家不难发现,80%的软件公司都在做外包或做过外包
RoR,让Web开发变快和变快乐
Juno 2007-09-28
Eclipse的语法加亮, sxin 已经说过了,我另外补充几点给楼主的建议:

1. "客户指定使用PHP来开发", 客户肯定是有理由的。php 作为一种适合 web 开发的语言,其市场占有率之高已经到了一个地球人都知道的地步了,yahoo, flickr, facebook 用php太成功的经典实例,我就不需要再重复了吧。

2. 如果楼主喜欢用java ,完全可以在php 里面调用java的类库,这样既满足了客户的需求,又不妨碍自己的兴趣,又可以多一个php+java的项目经验,何乐不为呢?

3. 对于一个程序员来说,偏执和偏激并不能在职业生涯中给你多少帮助,麻烦楼主不要破坏我们"IT从业人员"的整体形象。

4. 我很高兴我们的team里面没有楼主这样的人,老天保佑以后也不要有,无论今后我们采用什么技术来开发自己和客户的项目,skill总是可以被training 被提高的,而人的心态和性格,却是天生的,工作已经很辛苦了,还要忍受team member的肤浅和狂妄,that will be very unlucky.
发表评论

您还没有登录,请登录后发表评论

hideto
搜索本博客
我的相册
A6bdc31c-c66e-468e-961e-9cc721e82adc-thumb
screenshot
共 1 张
存档
最新评论