PHP新手最大的5个编码错误


我们一度都是PHP编程新手,我们都有自己编写糟糕代码的习惯,但我认为几乎所有新的PHP程序员都会犯一些错误。这并不是要侮辱新的程序员(事实上,这些代码示例来自我的一些第一批网站),目标是帮助新的程序员识别糟糕的实践,以便他们能够改进并获得下一个大任务。


1.破坏内存使用

PHP本身绝对会破坏你的计算机内存;你没必要添油加醋。我经常看到这样写的PHP代码:

$files=array('file1.txt','file2.txt','file3.txt');

foreach($files a $file){
	$Parser= newParser();
	$file_contents=$parser->parse_file($file);
}

你看到这里的问题了吗?每次循环都有一个新类被实例化,这意味着大量新对象被创建并存储在内存中。请确保将该实例化对象拉出循环,并且只调用您需要的方法。


4.到处都在使用isset()

我对此感到内疚,但是所有的新程序员都喜欢isset(),并且经常将它用于布尔检查。这样做的原因是因为大多数新程序员使用$_GET变量,这些变量通常需要isset($_GET['id'])来确定变量是否真的被传递了,否则PHP会抛出一个警告。新程序员养成了使用isset()的习惯,只是跟着它跑。

我经常看到这样的东西:

$contents=file_get_contents('file_name.txt');

if(isset($contents)){
	do_watever_with($contents);
}

在这种情况下,即使该文件未被读取或没有任何内容,该条件也总是默认为真。如果($contents)在这里工作正常。


3.不使用数组和循环

新的程序员经常对使用循环感到不舒服,所以他们避免使用循环,并使用其他替代方法,这导致代码难看和难以维护。

$user1=some_function(1);
$user2=some_function(2);
$user3=some_function(3);

//a better approach is using arrays
$users=array(1,2,3);
foreach($usersas$key=>$user){
	$users[$key]=some_function($user);
}

2.使用“@”符号“修复”错误

您几乎不需要使用“@”错误抑制,这通常意味着您的代码结构不佳。看看错误是什么,试着用另一种方法来阻止错误的发生。或者,如果你真的不想思考,就改变你的想法error reporting在您的php.ini文件中,您应该可以使用几乎所有的best php hosting providers

1.意大利面条代码

到目前为止,最常见的新招是将PHP业务逻辑和html混合在一起。公平地说,开发PHP是为了让我们可以轻松地将它与html混合在一起。然而,在html中显示PHP变量和在html中混合使用PHP逻辑或数据访问有很大的区别。根据经验,您应该始终将html显示(视图)和业务逻辑分离到单独的文件中。