1. PHP 함수 함수 존재 여부 판단
맞춤 함수를 생성하고 변수 함수의 사용법을 이해할 때, 프로그램에서 호출한 함수가 존재하는지 확인하기 위해 function_exists를 먼저 사용하는 경우가 많습니다. 기능이 존재하는지 확인하세요. 동일한 method_exists를 사용하여 클래스 메서드가 존재하는지 검색할 수 있습니다.
function func() { } if (function_exists('func')){ echo 'exists'; }
class_exists를 사용하여 클래스가 정의되었는지 확인할 수 있습니다
class MyClass{ } // 使用前检查类是否存在 if (class_exists('MyClass')) { $myclass = new MyClass(); }
PHP에는 파일이 존재하는지 여부 등을 확인하는 방법이 많이 있습니다. file_exists 등
$filename = 'test.txt'; if (!file_exists($filename)) { echo $filename . ' not exists.'; }
2 PHP 함수의 변수 함수
소위 변수 함수는 변수를 통한 것입니다. 변수의 값이 변수이므로 변수의 값을 변경하여 다른 함수를 호출할 수 있습니다. 콜백 함수, 함수 목록에서 자주 사용되거나 동적 매개변수를 기반으로 다른 함수를 호출하는 데 사용됩니다. 변수 함수를 호출하는 방법은 변수 이름에 괄호를 붙이는 것입니다.
function name() { echo 'jobs'; } $func = 'name'; $func(); //调用可变函数
변수 함수를 사용하여 개체의 메서드를 호출할 수도 있습니다.
class book { function getName() { return 'bookname'; } } $func = 'getName'; $book = new book(); $book->$func();
정적 메서드는 변수를 통해 동적으로 호출할 수도 있습니다.
$func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //动态调用静态方法
정적 메서드에서는 $this 의사 변수를 사용할 수 없습니다. self, parent, static을 사용하여 내부적으로 정적 메서드와 속성을 호출할 수 있습니다.
class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } public static function speedUp() { return self::$speed+=10; } } class BigCar extends Car { public static function start() { parent::speedUp(); } } BigCar::start(); echo BigCar::getSpeed();
3. PHP 클래스와 객체 간의 고급 기능
객체 비교. 동일한 클래스의 두 인스턴스의 모든 속성이 동일한 경우 필요한 경우 비교 연산자==를 사용할 수 있습니다. 두 인스턴스를 판단하려면 두 변수가 동일한 객체를 참조하는 경우 동등 연산자 ===를 사용하여 판단할 수 있습니다.
class Car { } $a = new Car(); $b = new Car(); if ($a == $b) echo '=='; //true if ($a === $b) echo '==='; //false
객체 복사. 이때 clone 메소드를 통해 객체를 복사할 수 있으며, 이 magic 메소드를 통해 속성 값을 설정할 수 있습니다.
class Car { public $name = 'car'; public function clone() { $obj = new Car(); $obj->name = $this->name; } } $a = new Car(); $a->name = 'new car'; $b = clone $a; var_dump($b);
객체 직렬화, 데이터를 저장하거나 전송하는 데 사용되는 직렬화 메서드를 통해 객체를 문자열로 직렬화한 다음, 필요할 때 역직렬화를 통해 사용할 수 있도록 문자열을 객체로 역직렬화할 수 있습니다.
아아아아위 내용은 PHP에서 간과하기 쉬운 함수와 클래스 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!