Ellenőrizze, hogy létezik a módszer php
Hasonló bejegyzések
Osztályok tartalmazhat dinamikus módszerek alkalmazásával, amelyek jelenléte nem nyilvánvaló külső fejlesztő. Továbbá, működés közben lehet létrehozni különböző tömbök objektumok, amelyek tartalmazhatnak különböző módszerek. Ilyen esetekben szükség eszközök meglétének a módszer az osztályban. A funkció „method_exists ()” működik egy ilyen eszköz a PHP.
A függvény első paramétere veszi a nevét az osztály vagy tárgy, és mint második módszer neve és értéke „true”, vagy ha a tárgy osztályban van ezzel a módszerrel, és a „hamis” egyébként.
Mutassa be a kilépési munka „method_exists ()”, és hozzon létre egy osztály „myExists”, amely magában foglalja a két módszer, beltéri és kültéri.
A példában a következő függvény használatával „method_exists ()” a objektumosztály „myExists” ellenőrzi a meglévő módszerek „method_public ()”, „method_private ()”, és nem egy létező módszer „method_protected ()”. eredmény:
Amint a vizsgálat eredménye az, akkor a függvény „true” Minden egyes módszer tekintet hozzáférés specifikátor „false” vissza csak akkor, ha az objektum nem rendelkezik sem zárt, sem nyílt módszere az azonos nevet.
Az első érv a funkció „method_exists ()” használja az osztály objektum „$ _Class_myExists”, de hogy teszteljék a módszer nem feltétlenül létre egy objektumot, adja át a nevét az osztály elég. például:
Amikor dolgozik „method_exists ()” függvény kell venni, hogy nem ismeri fel a jelenléte dinamikus módszerek segítségével létrehozott egy speciális módszerrel „__call ()”, „__callStatic ()”.
Amellett, hogy a funkciók „method_exists ()” függvény, akkor egy alternatív „is_callable ()”, amely, ellentétben a „method_exists ()”, kivéve az osztály módszervalidálás lehetővé teszi, hogy ellenőrizze a létezését funkciók, amelyek nem részei az osztály.
Munka egy harmadik fél osztály, a fejlesztő gyakran nem tudja, a kötél minden módszer az osztály. Annak érdekében, hogy a teljes listáját, akkor használja a „get_class_methods ()”. Az első paraméter a függvény nevét az osztály, és vissza egy tömbben nyilvános módszereket. Hangsúlyozni kell, hogy a saját módszerek működnek nem küldjük vissza. például:
Amint látható, egy privát módszer „method_private ()” nem szerepel a kapott tömbben. A dinamikus módszereket, amelyek emulált segítségével egy speciális módszer „__call ()”, „__callStatic ()”, és nem a listából alkalmazásával kapott „get_class_methods ()” funkciót.