개발 작업에 있어서 PHP 언어로 "일을 하는" 방식을 익히면, 사용이 편해지고 개발 효율성이 크게 향상됩니다. 따라서 이 기사에서는 PHP 개발 기술 상위 10가지를 소개합니다. 이 글이 여러분에게 도움이 되기를 바랍니다.
1. 웹 사이트의 인덱스 페이지를 올바르게 만드는 방법
모든 웹 사이트를 만들 때 가장 먼저 해야 할 일 중 하나는 웹 사이트의 인덱스 페이지를 만드는 것입니다. PHP를 처음 사용하는 경우 인덱스 페이지를 작성할 때 일반적인 접근 방식은 인덱스 페이지에 필요한 콘텐츠만 프로그래밍하고 다른 링크에 대한 다른 페이지를 만드는 것입니다. 그러나 PHP 프로그래밍을 구현하는 보다 효율적인 방법을 배우고 싶다면 많은 웹사이트에서 사용하는 "index.php?page=home" 모드를 사용할 수 있습니다.
2. 요청 전역 배열을 사용하여 데이터 캡처
사실 값을 캡처하기 위해 $_GET 및 $_POST 배열을 사용할 이유가 없습니다. 전역 배열 $_REQUEST를 사용하면 가져오기 또는 양식 요청을 얻을 수 있습니다. 따라서 대부분의 경우 데이터 구문 분석을 위한 보다 효율적인 코드는 다음과 같습니다.
$action = isset($_REQUEST['action']) $_REQUEST['action '] : 0;
3. PHP 코드 디버깅에 var_dump를 사용하세요
PHP 디버깅 기술을 찾고 있다면 var_dump가 바로 여러분이 찾고 있는 목표라고 말씀드리고 싶습니다. 이 명령은 PHP 정보 표시와 관련된 모든 요구 사항을 충족할 수 있습니다. 코드 디버깅의 대부분의 경우는 PHP에서 값을 얻는 것과 관련이 있습니다.
4. PHP는 코드 로직을 처리하고 Smarty는 프레젠테이션 레이어를 처리합니다.
Smarty는 PHP로 작성된 템플릿 PHP 템플릿 엔진으로 현재 업계에서 가장 유명한 PHP 템플릿 엔진 중 하나입니다. 논리적 코드와 외부 콘텐츠를 분리하여 원래 HTML 코드와 혼합되어 있던 PHP 코드를 논리적으로 분리하기 위한 관리 및 사용 방법을 쉽게 제공합니다. 간단히 말해서, PHP 프로그래머를 프론트엔드 직원과 분리하여 프로그래머가 프론트엔드 직원의 페이지 디자인에 영향을 주지 않고 프로그램의 논리적 내용을 변경하고, 프런트엔드 직원이 영향을 주지 않고 페이지를 다시 수정하도록 하는 것이 목적입니다. 프로그램의 프로그램 논리는 다중 사용자 협업이 포함된 프로젝트에서 특히 중요합니다.
5. 꼭 글로벌 값을 사용해야 하는 경우에는 구성 파일을 생성하세요
글로벌 값을 자주 생성하는 것은 좋지 않은 습관이지만, 실제 상황에서는 이것이 필요할 때도 있습니다. 데이터베이스 테이블이나 데이터베이스 연결 정보에 전역 값을 사용하는 것은 좋지만, PHP 코드에서는 전역 값을 자주 사용하지 않는 것이 좋습니다. 또는 더 나은 접근 방식은 전역 변수를 config.php 파일에 저장하는 것입니다.
6. 정의되어 있지 않으면 접근이 금지됩니다!
페이지를 올바르게 생성했다면 다른 사람이 index.php나 home.php 외부에서 index.php 페이지에 접근할 이유가 없습니다. index.php에 액세스하면 변수를 가져와 필요한 페이지를 열 수 있습니다. 색인 페이지에는 다음과 유사한 코드가 포함되어야 합니다.
'yourPage'그런 다음 다른 페이지에는 다음이 포함되어야 합니다.
die('Access Denied') 이 작업의 목적은 다른 PHP 페이지에 직접 액세스하는 것을 방지하는 것입니다. 이런 식으로 index.php를 통하지 않고 다른 웹 페이지에 액세스하려고 시도하는 사람은 누구나 "액세스 거부" 메시지를 받게 됩니다.
public function dbExec($query) { $result = $this->db->exec($query); if (PEAR::isError($result)) errorRedirect($result->getMessage(), true); else return $result; }
// checks if arguments given are integer values not less than 0 - has multiple arguments function sanitizeInput() { $numargs = func_num_args(); $arg_list = func_get_args(); for ($i = 0; $i < $numargs; $i++) { if (!is_numeric($arg_list[$i]) || $arg_list[$i] < 0) errorRedirect("Unexpected variable value", true); } }
8. 입력을 처리하는 하나의 PHP 파일과 특정 기능을 처리하는 하나의 class.php 파일
만들지 마세요 코드가 복잡해짐 중요한 방법은 사용자 입력을 얻은 후 처리를 위해 이를 다른 기능으로 리디렉션하는 것입니다. 원리는 매우 간단합니다. PHP 파일은 필요한 모든 입력을 받은 다음 실행을 클래스 파일의 함수로 리디렉션합니다. 예를 들어 "index.php?page=profile&action=display"와 같은 URL이 있다고 가정합니다. URL은 profile.php에 의해 검색되며 작업은 "display"입니다. 그런 다음 간단한 스위치 기능을 사용하여 실제 표시 기능을 수행합니다.require_once PROJECTROOT.'libs/messages.class.php'; $message = new Message(); switch ($action) { case 'display': $message->display(); break; ...
9. SQL 문을 파악하고 항상 삭제하세요
正如我以前所提到的,任何php网站中最重要的部分有99%的可能是数据库。因此,你需要非常熟悉如何正确的使用sql。学会关联表和更多高级技术。下面我将展示一个使用MySQL的函数示例,并使用本文第7条函数进行审查。
private function getSentMessages($id) { $this->util->sanitizeInput($id); $pm_table = $GLOBALS['config']['privateMsg']; $users = $GLOBALS['config']['users']; $sql = "SELECT PM.*, USR.username as name_sender FROM $pm_table PM, $users USR WHERE id_sender = '$id' AND sender_purge = FALSE AND USR.id = PM.id_receiver AND is_read = TRUE ORDER BY date_sent DESC"; $result = $this->dbQueryAll($sql); return $result; }
首先,我们对用户输入进行检查(通过一个GET变量传递消息id),然后我们执行我们的SQL命令。注意这儿SQL的用法。你需要了解如何使用别名和关联表。
10、当你只需要一个对象时,使用单例模式
在PHP中相当常见的一种情形时,我们只需要创建一个对象一次,然后在我们的整个程序中使用它。一个很好的例子就是smarty变量,一旦被初始化后就可以在任何地方使用。这种情形的一个很好实现方案就是单例模式。示例代码如下:
function smartyObject() { if ($GLOBALS['config']['SmartyObj'] == 0) { $smarty = new SmartyGame(); $GLOBALS['config']['SmartyObj'] = $smarty; } else $smarty = $GLOBALS['config']['SmartyObj']; return $smarty; }
注意,我们拥有一个全局smarty变量(该示例中它在config.php中被初始化),如果它的值为0,我们将创建一个新smarty对象。否则,它意味着该对象已经被创建,我们只需要返回它。
위 내용은 PHP 개발자 생산성을 향상시키는 10가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!