Starting a new life with PHP & MySQL

C#固然可亲,AS固然可爱,但是大公司门有自己的打算。譬如Microsoft,为我们做好了大量服务器端控件,说是为了streamline web development,强大的Visual Studio 2005,说是要让程序员早点下班。但是,还有一样东西,允许你用EditPlus,用HTML模版技术,直击HTML表示的最底层。毕竟,指望服务器为我们产生完美的HTML让我们丧失了太多的乐趣!ASP.NET产生的HTML虽然工整,但繁杂得不行,还有一片一片的hidden field。很多开发人员直接由VS做网页了,因为在DW和VS间斡旋令人痛苦。在DW里写的客户端脚本的一个错误,可能导致ASP.NET生成的客户端脚本得不到执行,于是数据无法提交。在譬如Macromedia,AS 2.0的OO的确吸引人,V2的构架的确像个Framework,然而权衡得失,令人扼腕痛惜!偶然看到一些很酷很酷的动画,玄妙之至,下载下来反编,竟是Flash 4的句法!让我来实现,难免要over-design,然而x KB的精彩,得益于Flash本身的灵活,正是其优势所在。用Flash开发App,写类套用模式,须事先综合权衡,仔细评估,开发能力不是Flash的强项,也不是Flash的救命稻草。优秀的Flash程序往往是AS1 和 AS2的结合,AS1来控制流程,AS2来实现模块化的功能。MM要怎样决定Flash的命运是我管不了的,但我希望let it be Flash!轻快短小,在让传统程序员摸不着头脑的timeline上穿梭自如,恰是Flash崛起的法宝。至于Screen和Slide,是要拿Flash跟VB和PPT比么?

PHP5来了!
Luar在blog上说:PHP發明者Rasmus Lerdorf,他對PHP5在面向對象上做的改進:「PHP的用戶有很多種,但我想絕大部分的用戶其實不是那麼在乎面向對象,僅僅是一小部分的用戶叫囂著要加入面向對象的支持,因為他們非常在乎面向對象的特性…雖然他們需要PHP能像Java那樣完全的面向對象,但我們不打算這樣做,我們僅僅是改進PHP以前不足的地方。」模仿Rasmus Lerdorf的言論:「ActionScript的用戶有很多鍾,但我想絕大部分的用戶其實不是那麼在乎面向對象,最常用到仍然是ActionScript 1.0。」

我想,这正是我们所思考的问题,在疯狂跟随大公司的新技术时,倒是该多想想自己在做什么,真的需要那么庞大的"构架"、"解决方案"吗? 富有创造力的群体,不应该是公司产品的Assemblers!Flash不能载入gif?那好,我用php做个代理在中间转换一次。V2的DataGrid里的极有用属性是私有的?那好,我用["xxx"]!HTTP无状态?好,我们早就用hidden field了,还等着ASP.NET来沾沾自喜的宣扬?程序以人为中心,不是束缚思想的牢笼!

我从今天开始学习PHP,体会

DataBase db = new DataBaseFactory.CreateDataBase();
string sqlCommand = "Select * From Customers";
DBCommandWrapper dbCommandWrapper = db.GetSqlStringCommandWrapper(sqlCommand);
IDataReader dataReader = db.ExecuteReader(dbCommandWrapper);
StringBuilder readerData = new StringBuilder();
while (dataReader.Read())
{
  // Get the value of the ‘Name’ column in the DataReader
  readerData.Append(dataReader["Name"]);
  readerData.Append(Environment.NewLine);
}
if (dataReader != null)
 dataReader.Close();

<?php
$link = mysql_connect(‘localhost’, ‘mysql_user’, ‘mysql_password’);
$result = mysql_query(‘Select * From Customers’);
$str=”;
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
   $str = $str.$row["name"].’\n’
}
mysql_free_result($result);
mysql_close($link);
?>

之间不同的哲学!其实是

try

{

DoorManager.Instance().OpenDoor(OpenDoorStyle.FastOpen);

}

catch(Doors.DoorOpenException)

{

MessageBox.Show("A exception occurred while opening the door!");

}

finally

{

DiposeUnmanagedResources(true);

}

open_the_door_quickly() or die("Oops! Cannot open the door!");

的不同

一些资源:

http://www.php.net/ PHP的老家

http://www.mysql.com/ MySQL的老家。

http://www.apache.org/ 阿帕奇的老家

Starting a new life with PHP………………….01%

 

 

Advertisements
This entry was posted in PHP Rocks. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s