日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

达内php编程,达内培训:PHP编程的五个好习惯(二)

發(fā)布時間:2025/3/17 php 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 达内php编程,达内培训:PHP编程的五个好习惯(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前面我們已經(jīng)為大家了解 PHP編程的五個好習(xí)慣(一)的內(nèi)容,現(xiàn)在?老師繼續(xù)帶大家去了解PHP編程的五個好習(xí)慣(二)的內(nèi)容。下面是本節(jié)的正文。

專心解決一個問題之后再繼續(xù)編程,這樣會讓您更輕松。在解決一個緊急的問題時,如果繼續(xù)編程,會使函數(shù)越來越長。從長遠(yuǎn)來說,這并不是一個問題,但您要記得回過頭來將它重構(gòu)為更小的部分。

重構(gòu)是個不錯的主意,但您應(yīng)該養(yǎng)成編寫更短、功能更集中的代碼。短的方法能夠在一個窗口中一次看完,并且容易理解。如果方法過長,不能在一個窗口中一次看完,那么它就變得不容易理解,因為您不能快速地從頭到尾了解它的整個思路。

構(gòu)建方法時,您應(yīng)該養(yǎng)成這樣的習(xí)慣,讓每個方法只完成一件事情。這個習(xí)慣很好,因為:首先,如果方法只完成一件事情,那么它就更容易被重用;其次,這樣的方法容易測試;第三,這樣的方法便于理解和更改。

不良習(xí)慣:過長的方法(完成很多件事情)

清單 3

展示了一個很長的函數(shù),其中存在很多問題。它完成很多件事情,因此不夠緊湊。它也不便于閱讀、調(diào)試和測試。它要做的事情包括遍歷一個文件、構(gòu)建一個列表、為每個對象賦值、執(zhí)行計算等等。

清單 3. 不良習(xí)慣:過長的函數(shù)

function writeRssFeed($user)

{

// Get the DB connection information

// look up the user's preferences...

$link = MySQL_connect('mysql_host', 'mysql_user',

'mysql_password')

OR die(mysql_error());

// Query

$perfsQuery = sprintf("SELECT max_stories FROM user_perfs WHERE

user= '%s'",

mysql_real_escape_string($user));

$result = mysql_query($query, $link);

$max_stories = 25; // default it to 25;

if ($row = mysql_fetch_assoc($result)) {

$max_stories = $row['max_stories'];

}

// go get my data

$perfsQuery = sprintf("SELECT * FROM stories WHERE post_date =

'%s'",

mysql_real_escape_string());

$result = mysql_query($query, $link);

$feed = "<rss version="2.0">" .

"<channel>" .

"<title>My Great Feed</title>" .

"<link></link>"

.

"<description>The best feed in the world</description>" .

"<language>en-us</language>" .

"<pubDate>Tue, 20 Oct 2008 10:00:00 GMT</pubDate>" .

"<lastBuildDate>Tue, 20 Oct 2008 10:00:00 GMT</lastBuildDate>"

.

"<docs></docs>"

.

"<generator>MyFeed Generator</generator>" .

"<managingEditor></managingEditor>"

.

"<WebMaster></webMaster>"

.

"<ttl>5</ttl>";

// build the feed...

while ($row = mysql_fetch_assoc($result)) {

$title = $row['title'];

$link = $row['link'];

$description = $row['description'];

$date = $row['date'];

$guid = $row['guid'];

$feed .= "<item>";

$feed .= "<title>" . $title . "</title>";

$feed .= "<link>" . $link . "</link>";

$feed .= "<description> " . $description .

"</description>";

$feed .= "<pubDate>" . $date . "</pubDate>";

$feed .= "<guid>" . $guid . "</guid>";

$feed .= "</item>";

}

$feed .= "</rss";

// write the feed out to the server...

echo($feed);

如果多編寫幾個這樣的方法,維護(hù)就成了真正的難題了。

良好習(xí)慣:易管理、功能專一的方法

清單 4

將原來的方法改寫為更加緊湊、易讀的方法。在這個示例中,將一個很長的方法分解為幾個短方法,并且讓每個短方法負(fù)責(zé)一件事情。這樣的代碼對將來的重用和測試都是大有裨益的。

清單 4. 良好習(xí)慣:易管理、功能專一的方法

function createRssHeader()

{

return "<rss version="2.0">" .

"<channel>" .

"<title>My Great Feed</title>" .

"<link></link>"

.

"<description>The best feed in the world</description>" .

"<language>en-us</language>" .

"<pubDate>Tue, 20 Oct 2008 10:00:00 GMT</pubDate>" .

"<lastBuildDate>Tue, 20 Oct 2008 10:00:00 GMT</lastBuildDate>"

.

"<docs></docs>"

.

"<generator>MyFeed Generator</generator>" .

"<managingEditor></managingEditor>"

.

"<WebMaster></webMaster>"

.

"<ttl>5</ttl>";

}

function createRssFooter()

{

return "</channel></rss>";

}

function createRssItem($title, $link, $desc, $date, $guid)

{

$item .= "<item>";

$item .= "<title>" . $title . "</title>";

$item .= "<link>" . $link . "</link>";

$item .= "<description> " . $description .

"</description>";

$item .= "<pubDate>" . $date . "</pubDate>";

$item .= "<guid>" . $guid . "</guid>";

$item .= "</item>";

return $item;

}

function getUserMaxStories($db_link, $default)

{

$perfsQuery = sprintf("SELECT max_stories FROM user_perfs WHERE

user= '%s'",

MySQL_real_escape_string($user));

$result = mysql_query($perfsQuery, $db_link);

$max_stories = $default;

if ($row = mysql_fetch_assoc($result)) {

$max_stories = $row['max_stories'];

}

return $max_stories;

}

function writeRssFeed($user)

{

// Get the DB connection information

$settings = parse_ini_file("rss_server.ini");

// look up the user's preferences...

$link = mysql_connect($settings['db_host'],

$settings['user'],

$settings['password']) OR die(mysql_error());

$max_stories = getUserMaxStories($link, 25);

// go get my data

$newsQuery = sprintf("SELECT * FROM stories WHERE post_date =

'%s'",

mysql_real_escape_string(time()));

$result = mysql_query($newsQuery, $link);

$feed = createRssHeader();

$i = 0;

// build the feed...

while ($row = mysql_fetch_assoc($result)) {

if ($i < $max_stories) {

$title = $row['title'];

$link = $row['link'];

$description = $row['description'];

$date = $row['date'];

$guid = $row['guid'];

$feed .= createRssItem($title, $link, $description, $date,

$guid);

$i++;

} else {

break;

}

}

mysql_close($link);

$feed .= createRssFooter();

// write the feed out to the server...

echo($feed);

}

小結(jié):將長方法拆分為短方法也是有限制的,過度拆分將適得其反。因此,不要濫用這個良好的習(xí)慣。將代碼分成大量的片段就像沒有拆分長代碼一樣,都會造成閱讀困難。

總結(jié)

以上是生活随笔為你收集整理的达内php编程,达内培训:PHP编程的五个好习惯(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。