我正在編寫 php 代碼以定義一些信息(在 HTMl 頁面的開頭),然后在頁面本身中使用定義的變量。如果我有一些安寧的代碼,那應(yīng)該被重復調(diào)用,那么毫無疑問我會為此使用函數(shù)。但在這種情況下,我問的是代碼,它只在頁面上運行一次并定義了一些信息,這些信息將在以后使用。但我試圖弄清楚,什么是最佳實踐。在一種情況下,我自己編寫了創(chuàng)建/獲取/處理信息的所有代碼。$x = 10;$select = $db->some_query (that is pseudo code...)$x = $x + $select;echo $x;在另一種情況下,我根據(jù)其含義將其隔離為不同的功能。然后從腳本的開頭調(diào)用這些函數(shù)。在這種情況下,我必須使我想在其他地方使用的變量成為全局變量。define_x_variable($db);function define_x_variable($db) { global x; $x = 10; $select = $db->some_query (that is pseudo code...) $x = $x + $select;}echo $x;所以,我使用第二種方法的原因是:更容易看出,某種和平的代碼完成了什么(通過函數(shù)的名稱)[另一方面,它可以通過 php 注釋完成...]函數(shù)中使用的變量不會在這個函數(shù)之外的任何地方出現(xiàn)(所以,在這種情況下,$select變量沒有在這個函數(shù)之外定義。所以,如果我決定在其他情況下再次使用這個變量,我就不必覆蓋它。我不會不小心使用它以前的意思)$x通過我自己定義的整個腳本(例如: variable ),我只能訪問某些變量。所以,唯一的問題是,我不確定以這種方式編碼是否是一種好的做法。我讀過,全局變量名聲不好,不建議使用。我還認為,我可能會使事情過于復雜。那么什么是更好的方法呢?
1 回答

幕布斯7119047
TA貢獻1794條經(jīng)驗 獲得超8個贊
你的第二個選擇是最好的方法。
您自己應(yīng)用了關(guān)注點分離原則
收集資料
格式化數(shù)據(jù)
顯示數(shù)據(jù)
依此類推...
如果你有興趣,你可以去看看像 Symfony 這樣的 PHP 框架,它努力為代碼提供一些 goos 結(jié)構(gòu)。
您應(yīng)該始終提供干凈、組織良好的代碼,功能僅限于一小部分工作。然后你可以把它變得完美,最后得到一個更易于維護的軟件。
所以,先組織好,再看看性能問題,如果有的話。

暮色呼如
TA貢獻1853條經(jīng)驗 獲得超9個贊
我寧愿為此編寫一個函數(shù)。僅僅因為,如果您想要對其進行任何更改很容易,并且當我們的應(yīng)用程序中某處需要相同的功能時,我們可以重用它。
最好選擇函數(shù)式寫法。
謝謝
- 1 回答
- 0 關(guān)注
- 131 瀏覽
添加回答
舉報
0/150
提交
取消