다른 PHP를 작성하는 방법은 무엇입니까?
PHP는 개발 세계에서 가장 많이 논의되는 프로그래밍 언어 중 하나입니다. 어떤 사람들은 그것을 비효율적인 프로그래밍 언어라고 부르고, 어떤 사람들은 관습이나 아키텍처가 없는 성가신 프로그래밍 언어라고 부르며, 나는 그 중 일부에 정당한 요점이 있기 때문에 동의합니다. 그러나 여기서는 수년에 걸쳐 PHP를 사용하여 프로그래밍한 경험을 공유하겠습니다. 이러한 트릭 중 일부는 최신 PHP 버전에서만 사용할 수 있으므로 이전 버전에서는 작동하지 않을 수 있습니다.
유형 힌트 및 반환 유형
PHP는 데이터 유형에 관한 한 완벽한 언어는 아니지만 유형 힌트와 반환 유형을 사용하여 코드를 개선할 수 있습니다. 품질을 향상하고 추가 유형 충돌을 방지합니다. PHP의 이러한 기능을 사용하는 사람은 많지 않으며 모든 PHP 프로그래머가 이것이 가능하다는 것을 아는 것은 아닙니다.
<?php function greet_user(User $user, int $age): void { echo "Hello" . $user->first_name . " " . $user->last_name; echo "\nYou are " . $age . " years old"; }
매개변수 변수 앞에는 유형의 이름이나 클래스를, 콜론 뒤에는 함수 서명 뒤에 반환 유형을 사용하여 유형 힌트를 선언할 수 있습니다.
Laravel과 같은 프레임워크에서 컨트롤러를 설계할 때 이를 보다 고급 방식으로 사용할 수 있습니다.
<?php class UserController extends Controller { // User sign up controller public function signUp(Request $request): JsonResponse { // Validate data $request->validate([ 'plateNumber' => 'required|alpha_num|min:3|max:20|unique:users,plate_number', 'email' => 'required|email|unique:users', 'firstName' => 'required|alpha', 'lastName' => 'required|alpha', 'password' => 'required|min:8', 'phone' => 'required|numeric|unique:users' ]); // Create user $new_user = new User; $new_user->plate_number = trim(strtoupper($request->input('plateNumber'))); $new_user->email = trim($request->input('email')); $new_user->first_name = trim($request->input('firstName')); $new_user->last_name = trim($request->input('lastName')); $new_user->password = Hash::make($request->input('password')); $new_user->phone = trim($request->input('phone')); $new_user->save(); return response()->json([ 'success' => true, ]); } }
삼항 연산자
삼항 연산자 거의 70%의 프로그래머가 알고 광범위하게 사용하는 것이지만 삼항 연산자가 무엇인지 모르는 경우 다음 예를 참조하세요.
<?php $age = 17; if($age >= 18) { $type = 'adult'; } else { $type = 'not adult'; }
삼항 연산자를 사용할 수 있습니다. 표기법을 사용하면 이를 단순화할 수 있습니다.
<?php $age = 17; $type = $age >= 18 ? 'adult' : 'not adult';
조건이 충족되면 두 번째 부분은 변수에 할당되지 않습니다.
조건이 참값으로 평가되면 해당 값을 사용하려는 경우 더 짧은 방법도 있습니다.
<?php $url = 'http://example.com/api'; $base_url = $url ? $url : 'http://localhost';
$url은 보시다시피 조건과 조건이 참인 경우 결과로 모두 사용됩니다. 이 경우 왼쪽 피연산자를 이스케이프할 수 있습니다.
<?php $url = 'http://example.com/api'; $base_url = $url ?: 'http://localhost';
Null 병합 연산자
삼항 연산자와 마찬가지로 Null 병합 연산자를 사용하여 다음을 수행할 수 있습니다. 값이 존재하는지 확인하세요. false 자체가 값이므로 기존 값은 오류 값과 다릅니다.
<?php $base_url = $url ?? 'http://localhost';
이제 $base_url은 http://localhost와 동일하지만 $url을 false로 정의하면 $base_url 변수는 false와 같습니다.
<?php $url = false; $base_url = $url ?? 'http://localhost';
이 연산자를 사용하면 변수가 이전에 정의되었는지, 값이 할당되지 않았는지 확인할 수 있습니다.
<?php $base_url = 'http://example.com'; $base_url = $base_url ?? 'http://localhost';
Null 병합 할당을 사용하여 변수를 단축할 수 있습니다. 연산자 이 코드
<?php $base_url = 'http://example.com'; $base_url ??= 'http://localhost';
이 모든 기본 병합 기술은 배열 값에 구현될 수 있습니다.
<?php $my_array = [ 'first_name' => 'Adnan', 'last_name' => 'Babakan' ]; $my_array['first_name'] ??= 'John'; $my_array['age'] ??= 20;
위 배열은 이미 정의되어 있으므로 first_nameas인 Adnan을 가지지만 age라는 새 키를 정의하고 존재하지 않기 때문에 숫자 20을 부여합니다.
우주선 연산자
우주선 연산자는 한쪽이 더 큰지 여부만 아는 것보다 어떤 피연산자가 더 큰지 알고 싶을 때 유용합니다.
우주선 연산자는 왼쪽 피연산자가 더 큰 경우, 두 피연산자가 같을 경우, 오른쪽 피연산자가 각각 더 큰 경우 1, 0 또는 -1 값을 반환합니다.
<?php echo 5 <=> 3; // result: 1 echo -7 <=> -7; // result: 0 echo 9 <=> 15; // result: -1
간단하지만 매우 유용합니다.
우주선 운영자가 다른 것도 비교할 수 있다는 사실을 알면 더욱 흥미로워집니다.
<?php // String echo 'c' <=> 'b'; // result: -1 // String case echo 'A' <=> 'a'; // result: 1 // Array echo [5, 6] <=> [2, 7]; // result: 1
화살표 기능
특히 최신 버전을 사용하여 JavaScript 애플리케이션을 작성했다면 화살표 기능에 익숙해야 합니다. 화살표 함수는 범위 없이 함수를 정의하는 더 짧은 방법입니다.
<?php $pi = 3.14; $sphere_volume = function($r) { return 4 / 3 * $pi * ($r ** 3); }; echo $sphere_volume(5);
위 코드는 $pi가 이 특정 함수의 범위 내에서 정의된 변수가 아니기 때문에 오류를 발생시킵니다. 이를 사용하려면 함수를 약간 변경해야 합니다.
<?php $pi = 3.14; $sphere_volume = function($r) use ($pi) { return 4 / 3 * $pi * ($r ** 3); }; echo $sphere_volume(5);
이제 함수는 전역 범위에 정의된 $pi 변수를 사용할 수 있습니다.
하지만 이러한 작업을 수행하는 더 짧은 방법은 화살표 기능을 사용하는 것입니다.
<?php $pi = 3.14; $sphere_volume = fn($r) => 4 / 3 * $pi * ($r ** 3); echo $sphere_volume(5);
보시다시피 매우 간단하고 깔끔하며 기본적으로 전역 범위에 액세스할 수 있습니다.
추천 튜토리얼: "PHP"

핫 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 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,