Rumah php教程 php手册 给初学者的30条PHP最佳实践(荒野无灯)

给初学者的30条PHP最佳实践(荒野无灯)

Jun 06, 2016 pm 08:38 PM
amalan terbaik

给初学者的30条PHP最佳实践,需要的朋友可以参考下。

1,和PHP手册成为好朋友
2,打开Error Reporting
Error reporting 在 PHP 开发时是很有帮助的. 你可以在你代码中发现先前你没有发现的错误,因为并不是所有的BUG都会让程序运行不了的。当产品正式使用时,才有必要关掉错误报告,不然顾客看到一堆奇怪的字符不知道那是什么意思。
3,使用IDE
IDE (集成开发环境,Integrated Development Environments)对于开发者来说是很有帮助的工具.
荒野在这里推荐netbeans IDE 。
4. 试着使用一个PHP 框架
5.学习DRY方法
DRY 代表 Don't Repeat Yourself,它是一个有价值的编程概念,不管是什么语言。DRY编程,顾名思义,是确保你不写多余的代码。
6.使用空格缩进代码来提高可读性
7. “Tier” your Code
给你的应用程序分层,分成不同部位的不同组成部分的代码。这使得您可以轻松地在未来改变你的代码。 如常用的MVC模式。
8. 总是使用
9.使用有意义的,一致的命名约定
10.注释、注释、注释
11.安装MAMP/WAMP
12.给你的脚本限制运行时间
通常PHP脚本的运行时间被限制为30秒,超过这个时间PHP将抛出一个致命错误。
13.使用OOP
14.知道双引号和单引号的不同
15.不要在网站的根目录放phpinfo()
16.永远不要信任你的用户
17.加密存储密码
Rebuttal:
Keep in mind, however, that MD5 hashes have long since been compromised. They're absolutely more secure than not, but, with the use of an enormous “rainbow table,” hackers can cross reference your hash. To add even more security, consider adding a salt as well. A salt is basically an additional set of characters that you append to the user's string.
18.使用可视化数据库设计工具
如 DBDesigner 和 MySQL Workbench
19.使用输出缓冲
Rebuttal: Though not required, it's generally considered to be a good practice to go ahead and append the “ob_end_flush();” function as well to the bottom of the document. P.S. Want to compress the HTML as well? Simply replace “ob_start();” with “ob_start(‘ob_gzhandler')”;
Refer to this Dev-tips article for more information.
代码如下:





untitled







20.保护你的代码避免SQL注射
代码如下:
$username = mysql_real_escape_string( $GET['username'] );
  $id = $_GET['id'];
$statement = $connection->prepare( "SELECT * FROM tbl_members WHERE id = ?" );
$statement->bind_param( "i", $id );
$statement->execute();

By using prepared statements, we never embed the user's inputted data directly into our query. Instead, we use the “bind_param” method to bind the values (and escaping) to the query. Much safer, and, notably, faster when executing multiple CRUD statements at once.
21.尝试ORM (object relational mapping)
ORM libraries for PHP like Propel, and ORM is built into PHP frameworks like CakePHP.
22.缓存数据库驱动页面
如:
代码如下:
// TOP of your script
$cachefile = 'cache/'.basename($_SERVER['SCRIPT_URI']);
$cachetime = 120 * 60; // 2 hours
// Serve from the cache if it is younger than $cachetime
if (file_exists($cachefile) && (time() - $cachetime include($cachefile);
echo "";
exit;
}
ob_start(); // start the output buffer
// Your normal PHP script and HTML content here
// BOTTOM of your script
$fp = fopen($cachefile, 'w'); // open the cache file for writing
fwrite($fp, ob_get_contents()); // save the contents of output buffer to the file
fclose($fp); // close the file
ob_end_flush(); // Send the output to the browser

23.使用缓存系统
24.验证Cookie数据
Cookie data, like any data passed on the Web, can be harmful. You can validate cookie data with either the htmlspecialchars() or mysql_real_escape_string().
25.使用静态文件缓存系统
如Smarty的是一个内置缓存的强大的模板系统。
26.分析你的代码
Profiling your code with a tool like xdebug can help you to quickly spot bottlenecks and other potential problems in your PHP code. Some IDEs like Netbeans have PHP profiling capabilities as well.
27.编码标准
如 Pear标准。
28. Keep Functions Outside of Loops
You take a hit of performance when you include functions inside of loops. The larger the loop that you have, the longer the execution time will take. Take the extra time and line of code and place the function outside of the loop.
Editor's Note: Think of it this way. Try to remove as many operations from the loop as possible. Do you really need to create that variable for every iteration of the loop? Do you really need to create the function each time? Of course not.
29.不要复制不额外的变量(事实上这一条值得怀疑,见下面的说明)
如:
代码如下:
$description = strip_tags($_POST['description']);
echo $description;

可以写成如下:
echo strip_tags($_POST['description']);
Rebuttal: In reference to the comment about “doubling the memory,” this actually is a common misconception. PHP implements “copy-on-write” memory management. This basically means that you can assign a value to as many variables as you like without having to worry about the data actually being copied. While it's arguable that the “Good” example exemplified above might make for cleaner code, I highly doubt that it's any quicker.
也就是说PHP实现“copy-on-write” 的内存管理方式,上面第一种代码并不会存在占用双倍内存的情况。因此Rebuttal严重怀疑第二种方式的代码是否真的比前面的快。
30.更新到最新版本的PHP
31.减少数据库查询次数
32.勇敢地提问
像等都是好去处。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Amalan terbaik untuk menukar rentetan kepada nombor titik terapung dalam PHP Amalan terbaik untuk menukar rentetan kepada nombor titik terapung dalam PHP Mar 28, 2024 am 08:18 AM

Menukar rentetan kepada nombor titik terapung dalam PHP ialah keperluan biasa semasa proses pembangunan Contohnya, medan jumlah yang dibaca daripada pangkalan data adalah daripada jenis rentetan dan perlu ditukar kepada nombor titik terapung untuk pengiraan berangka. Dalam artikel ini, kami akan memperkenalkan amalan terbaik untuk menukar rentetan kepada nombor titik terapung dalam PHP dan memberikan contoh kod khusus. Pertama sekali, kita perlu menjelaskan dengan jelas bahawa terdapat dua cara utama untuk menukar rentetan kepada nombor titik terapung dalam PHP: menggunakan penukaran jenis (float) atau menggunakan fungsi (floatval). Di bawah ini kami akan memperkenalkan kedua-dua ini

Apakah amalan terbaik untuk penggabungan rentetan di Golang? Apakah amalan terbaik untuk penggabungan rentetan di Golang? Mar 14, 2024 am 08:39 AM

Apakah amalan terbaik untuk penggabungan rentetan di Golang? Di Golang, penggabungan rentetan adalah operasi biasa, tetapi kecekapan dan prestasi mesti diambil kira. Apabila berurusan dengan sejumlah besar rangkaian rentetan, memilih kaedah yang sesuai boleh meningkatkan prestasi program dengan ketara. Berikut akan memperkenalkan beberapa amalan terbaik untuk penggabungan rentetan di Golang, dengan contoh kod khusus. Menggunakan fungsi Sertai pakej rentetan Di Golang, menggunakan fungsi Sertai pakej rentetan ialah kaedah penyambungan rentetan yang cekap.

Apakah amalan terbaik untuk rangka kerja golang? Apakah amalan terbaik untuk rangka kerja golang? Jun 01, 2024 am 10:30 AM

Apabila menggunakan rangka kerja Go, amalan terbaik termasuk: Pilih rangka kerja ringan seperti Gin atau Echo. Ikuti prinsip RESTful dan gunakan kata kerja dan format HTTP standard. Manfaatkan perisian tengah untuk memudahkan tugas seperti pengesahan dan pengelogan. Kendalikan ralat dengan betul, menggunakan jenis ralat dan mesej yang bermakna. Tulis ujian unit dan integrasi untuk memastikan aplikasi berfungsi dengan baik.

Perbandingan mendalam: amalan terbaik antara rangka kerja Java dan rangka kerja bahasa lain Perbandingan mendalam: amalan terbaik antara rangka kerja Java dan rangka kerja bahasa lain Jun 04, 2024 pm 07:51 PM

Rangka kerja Java sesuai untuk projek yang merentas platform, kestabilan dan kebolehskalaan adalah penting. Untuk projek Java, Spring Framework digunakan untuk suntikan pergantungan dan pengaturcaraan berorientasikan aspek, dan amalan terbaik termasuk menggunakan SpringBean dan SpringBeanFactory. Hibernate digunakan untuk pemetaan hubungan objek, dan amalan terbaik ialah menggunakan HQL untuk pertanyaan kompleks. JakartaEE digunakan untuk pembangunan aplikasi perusahaan, dan amalan terbaik adalah menggunakan EJB untuk logik perniagaan teragih.

Terokai amalan terbaik untuk lekukan dalam Go Terokai amalan terbaik untuk lekukan dalam Go Mar 21, 2024 pm 06:48 PM

Dalam bahasa Go, lekukan yang baik adalah kunci kepada kebolehbacaan kod. Semasa menulis kod, gaya lekukan bersatu boleh menjadikan kod lebih jelas dan lebih mudah difahami. Artikel ini akan meneroka amalan terbaik untuk lekukan dalam bahasa Go dan memberikan contoh kod khusus. Gunakan ruang dan bukannya tab In Go, adalah disyorkan untuk menggunakan ruang dan bukannya tab untuk lekukan. Ini boleh mengelakkan masalah tetapan taip yang disebabkan oleh lebar tab yang tidak konsisten dalam editor yang berbeza. Bilangan ruang untuk lekukan bahasa Go secara rasmi mengesyorkan penggunaan 4 ruang sebagai bilangan ruang untuk lekukan. Ini membolehkan kod menjadi

Amalan Terbaik PHP: Alternatif untuk Mengelak Penyata Goto Diterokai Amalan Terbaik PHP: Alternatif untuk Mengelak Penyata Goto Diterokai Mar 28, 2024 pm 04:57 PM

Amalan Terbaik PHP: Alternatif untuk Mengelakkan Pernyataan Goto Diterokai Dalam pengaturcaraan PHP, pernyataan goto ialah struktur kawalan yang membenarkan lompatan terus ke lokasi lain dalam atur cara. Walaupun pernyataan goto boleh memudahkan struktur kod dan kawalan aliran, penggunaannya secara meluas dianggap sebagai amalan buruk kerana ia boleh menyebabkan kekeliruan kod, mengurangkan kebolehbacaan dan kesukaran penyahpepijatan. Dalam pembangunan sebenar, untuk mengelakkan penggunaan pernyataan goto, kita perlu mencari kaedah alternatif untuk mencapai fungsi yang sama. Artikel ini akan meneroka beberapa alternatif,

Peranan dan amalan terbaik fail .env dalam pembangunan Laravel Peranan dan amalan terbaik fail .env dalam pembangunan Laravel Mar 10, 2024 pm 03:03 PM

Peranan dan amalan terbaik fail .env dalam pembangunan Laravel Dalam pembangunan aplikasi Laravel, fail .env dianggap sebagai salah satu fail yang paling penting. Ia membawa beberapa maklumat konfigurasi utama, seperti maklumat sambungan pangkalan data, persekitaran aplikasi, kunci aplikasi, dll. Dalam artikel ini, kami akan mendalami peranan fail .env dan amalan terbaik, bersama-sama dengan contoh kod konkrit. 1. Peranan fail .env Pertama, kita perlu memahami peranan fail .env. Dalam Laravel sepatutnya

PHP mulakan baharu atau sambung semula sesi sedia ada PHP mulakan baharu atau sambung semula sesi sedia ada Mar 21, 2024 am 10:26 AM

Artikel ini akan menerangkan secara terperinci tentang memulakan baru atau memulihkan sesi yang sedia ada dalam PHP Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. Pengurusan Sesi PHP: Mulakan Sesi Baharu atau Sambung Semula Sesi Sedia Ada Pengenalan Pengurusan sesi adalah penting dalam PHP, ia membolehkan anda menyimpan dan mengakses data pengguna semasa sesi pengguna. Artikel ini memperincikan cara memulakan sesi baharu atau menyambung semula sesi sedia ada dalam PHP. Mulakan sesi baharu Fungsi session_start() menyemak sama ada sesi wujud, jika tidak, ia mencipta sesi baharu. Ia juga boleh membaca data sesi dan menukarnya

See all articles