PHP、CakePHP哪凉快哪呆着去

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

装了PHPeclipe和xampp,google到 PHP手册。
一起就绪,学起PHP来,发现PHPeclipse的代码提示做的很不错。
可是慢慢看手册,我慢慢发现,都说PHP开发小型项目快,但是页面里嵌入一坨一坨的逻辑代码,非常不爽啊。
在看到MySql函数这章时,我已经完全受不了了!
\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t\n";
    foreach ($line as $col_value) {
        echo "\t\t$col_value\n";
    }
    echo "\t\n";
}
echo "\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:
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:

Blog posts

link("Add Post", "/posts/add");?>

link('Delete', "/posts/delete/{$post['Post']['id']}", null, 'Are you sure')?> link('Edit', "/posts/edit/".$post['Post']['id']);?>
Id Title Created
link($post['Post']['title'],"/posts/view/".$post['Post']['id']); ?>


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

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

PHP、CakePHP,地球不适合你们。

你可能感兴趣的:(PHP,CakePHP,MySQL,Ruby,Rails)