要是有人問你,你寫的PHP程式都有那些内容,也許你還真的不知道!變量,資料類型,對象,數組,分支結構,循環結構,資料庫等等等,天啊,我那記得住啊!你記不住,我也記不住啊!
換句話說,就是該怎麼寫程式。
但是,大家上學的時候都學過資料結構吧,學過結構化設計語言Pascal吧!有人說了,沒學過,那C語言應該學過吧!要是也沒學過,那也沒有關系!
這個公式應該還記得吧:
算法 + 資料結構 = 程式 或者 算法 + 資料結構 + 程式設計方法 + 語言和工具 = 程式
那什麼是程式呢?其實說白了,就是一個子產品。寫程式,其實就是寫一個子產品,或者你用對象也可以。或者說是一個盒子也行。反正,隻要了解了就行。
那麼算法是什麼呢?其實就是解決問題的方法。
資料結構是什麼呢?其實就是資料在計算機裡面是怎麼存儲的方法。
語言是什麼呢?就是寫程式的工具。可以是PHP,ASP.NET,VB.NET,C#,Ruby,Python,SQL等等。
程式設計方法是什麼呢?其實就是組織結構,怎麼把算法,資料結構組織起來的方法,比如:OOD,結構化程式設計等等。
是以,說一千到一萬,目前,所有的程式,寫出來的模闆都應該是一樣,都應該包括以下的内容:輸入/輸出,内部變量,子產品邏輯結構。不信,不可能,胡說。不要亂扣帽子,我們可以舉例子來說明。在這裡,我隻拿PHP的程式來說明,其它的語言,你可以參考老鳥的觀點,自己思考一下。
1)隻有輸出,沒有輸入。<?php
echo \"Hello World!\";
?>2)有輸入,有輸出。<?php
include(\"conn/conn.php\");
$type=$_POST[type];
$title=$_POST[title];
$content=$_POST[content];
$linkman=$_POST[linkman];
$tel=$_POST[tel];
//$edate=date(\"Y-m-d h:i:s\");
$edate=date(\"Y-m-d H:i:s\");
$sql=mysql_query(\"insert into tb_info(type,title,content,linkman,tel,checkstate,edate) values('$type','$title','$content','$linkman','$tel',0,'$edate')\");
// 前面這麼一大堆語句是做什麼用處的呢?廢話,當然是擷取送出的資料啊!
// 驗證,并依據驗證結果跳轉到對應頁面
if($sql){
echo \"<script>alert('恭喜您,資訊釋出成功!');window.location.href='release.php';</script>\";
}else{
echo \"<script>alert('對不起,資訊釋出失敗!');history.back();</script>\";
}
?>
3)複雜的輸入/輸出<?
class MysqlConn{
private $conn;
private $my_db;
private $result;
// 系統初始化
public function __construct(){
require_once(\"db_config.php\");
$this->conn = mysql_pconnect($db_server, $db_user, $db_pwd);
$this->my_db = mysql_select_db($db_name,$this->conn);//選擇資料庫
// 對應的方法
public function query($sql){
$this->result = mysql_query($sql, $this->conn); // 執行查詢語句
return $this->result;
public function next(){
return $row = mysql_fetch_array($this->result);
public function close(){
mysql_free_result($this->result);
//使用轉義字元,保證系統安全.
public function escapeString($str){
return mysql_escape_string($str);
?>這段代碼是什麼意思,你不知道OOP的,應該大概也知道是做什麼了吧!
當然,有些程式或者叫代碼,寫的可能就很複雜,但不管怎麼寫,你按照這個思路去看代碼,應該知道人家為什麼這麼寫了!
但是,實際上呢,我們的任何的程式,其實還應該加上一個UI,也就是使用者界面。
那麼在PHP中,它支援那些使用者界面呢?很簡單,浏覽器,視窗,控制台。當然,PHP做視窗不是很友善,它更多的是做浏覽器的。是不是還有其它使用者界面呢?我不知道,你要是知道的話,可以告訴我!
最後的小結:
一個程式應該有那些内容呢?
算法 + 資料結構 + UI = 程式
你可以審視一下過去你寫的那些代碼,或者,你看人家寫的代碼,不管這些代碼是怎麼寫的,它的格式都是一樣的,唯一不同的就是文法的不同。
當然,為什麼有些代碼我看不懂呢,那其實是因為,它裡面包含了很多的算法。比如:在遊戲開發中經常用到下列一些算法:A*,排序。貪婪,遺傳等。當然,有好多算法是已經實作了各種資料結構和算法。我們隻需要怎麼做就可以了。當然,有時間的話,我們也可以了解為什麼要這麼做?但,我估計,除非你是做系統開發的,否則,勸你還是打消這個念頭吧!因為,時間和精力是有限的!