给初学者的30条PHP最佳实践(荒野无灯)_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.
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.勇敢地提问
像StackOverflow等都是好去处。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP에서 문자열을 부동 소수점 숫자로 변환하는 것은 개발 프로세스 중 일반적인 요구 사항입니다. 예를 들어, 데이터베이스에서 읽은 금액 필드는 문자열 유형이므로 숫자 계산을 위해 부동 소수점 숫자로 변환해야 합니다. 이 기사에서는 PHP에서 문자열을 부동 소수점 숫자로 변환하는 모범 사례를 소개하고 구체적인 코드 예제를 제공합니다. 우선, PHP에서 문자열을 부동 소수점 숫자로 변환하는 두 가지 주요 방법이 있다는 점을 분명히 해야 합니다. (float) 유형 변환을 사용하거나 (floatval) 함수를 사용하는 것입니다. 아래에서 이 두 가지를 소개하겠습니다.

Golang의 문자열 연결에 대한 모범 사례는 무엇입니까? Golang에서는 문자열 연결이 일반적인 작업이지만 효율성과 성능을 고려해야 합니다. 많은 수의 문자열 연결을 처리할 때 적절한 방법을 선택하면 프로그램 성능이 크게 향상될 수 있습니다. 다음은 특정 코드 예제와 함께 Golang의 문자열 연결에 대한 몇 가지 모범 사례를 소개합니다. strings 패키지의 Join 함수 사용 Golang에서는 strings 패키지의 Join 함수를 사용하는 것이 효율적인 문자열 접합 방법입니다.

Go 프레임워크를 사용할 때 모범 사례는 다음과 같습니다. Gin 또는 Echo와 같은 경량 프레임워크를 선택합니다. RESTful 원칙을 따르고 표준 HTTP 동사 및 형식을 사용하십시오. 미들웨어를 활용하여 인증 및 로깅과 같은 작업을 단순화합니다. 오류 유형과 의미 있는 메시지를 사용하여 오류를 올바르게 처리합니다. 애플리케이션이 제대로 작동하는지 확인하기 위해 단위 및 통합 테스트를 작성합니다.

Go 언어에서는 좋은 들여쓰기가 코드 가독성의 핵심입니다. 코드를 작성할 때 통일된 들여쓰기 스타일을 사용하면 코드를 더 명확하고 이해하기 쉽게 만들 수 있습니다. 이 문서에서는 Go 언어의 들여쓰기 모범 사례를 살펴보고 구체적인 코드 예제를 제공합니다. 탭 대신 공백을 사용하세요. Go에서는 들여쓰기를 위해 탭 대신 공백을 사용하는 것이 좋습니다. 이렇게 하면 여러 편집기에서 일관되지 않은 탭 너비로 인해 발생하는 조판 문제를 피할 수 있습니다. 들여쓰기 공백 수 Go 언어에서는 들여쓰기 공백 수로 4개의 공백을 사용하는 것을 공식적으로 권장합니다. 이를 통해 코드는

PHP 모범 사례: Goto 문을 피하기 위한 대안 탐색 PHP 프로그래밍에서 goto 문은 프로그램의 다른 위치로 직접 점프할 수 있는 제어 구조입니다. goto 문은 코드 구조와 흐름 제어를 단순화할 수 있지만 쉽게 코드 혼란, 가독성 감소 및 디버깅 어려움을 초래할 수 있기 때문에 이를 사용하는 것은 나쁜 습관으로 널리 간주됩니다. 실제 개발에서는 goto 문을 사용하지 않으려면 동일한 기능을 달성하기 위한 대체 방법을 찾아야 합니다. 이 기사에서는 몇 가지 대안을 살펴보겠습니다.

Java 프레임워크는 크로스 플랫폼, 안정성 및 확장성이 중요한 프로젝트에 적합합니다. Java 프로젝트의 경우 Spring Framework는 종속성 주입 및 측면 지향 프로그래밍에 사용되며 모범 사례에는 SpringBean 및 SpringBeanFactory 사용이 포함됩니다. Hibernate는 객체 관계형 매핑에 사용되며 가장 좋은 방법은 복잡한 쿼리에 HQL을 사용하는 것입니다. JakartaEE는 엔터프라이즈 애플리케이션 개발에 사용되며 가장 좋은 방법은 분산 비즈니스 로직에 EJB를 사용하는 것입니다.

Laravel 개발에서 .env 파일의 역할과 모범 사례 Laravel 애플리케이션 개발에서 .env 파일은 가장 중요한 파일 중 하나로 간주됩니다. 데이터베이스 연결 정보, 애플리케이션 환경, 애플리케이션 키 등과 같은 몇 가지 주요 구성 정보를 전달합니다. 이 기사에서는 구체적인 코드 예제와 함께 .env 파일의 역할과 모범 사례를 자세히 살펴보겠습니다. 1. .env 파일의 역할 먼저 .env 파일의 역할을 이해해야 합니다. Laravel에서는

이 기사에서는 PHP에서 새 세션을 시작하거나 기존 세션을 복원하는 방법에 대해 자세히 설명합니다. 편집자는 이것이 매우 실용적이라고 생각하므로 이 기사를 읽고 뭔가를 얻을 수 있기를 바랍니다. PHP 세션 관리: 새 세션 시작 또는 기존 세션 재개 소개 세션 관리는 PHP에서 매우 중요합니다. 이를 통해 사용자 세션 중에 사용자 데이터를 저장하고 액세스할 수 있습니다. 이 문서에서는 PHP에서 새 세션을 시작하거나 기존 세션을 재개하는 방법을 자세히 설명합니다. 새 세션 시작 session_start() 함수는 세션이 존재하는지 확인하고, 존재하지 않으면 새 세션을 생성합니다. 세션 데이터를 읽고 변환할 수도 있습니다.
