Heim  >  Artikel  >  Backend-Entwicklung  >  Implementieren Sie selbst PHP-Code-Anmerkungsfunktionen

Implementieren Sie selbst PHP-Code-Anmerkungsfunktionen

WBOY
WBOYOriginal
2016-08-08 09:24:202065Durchsuche

PHP Annotation

Bisher unterstützt die Reflexionsfunktion von PHP keine Annotation Annotation, kann aber die Erfassung grundlegender Dokumentkommentarinhalte ReflectionMethod::getDocComment() unterstützen – ab 5.1.0. Die Reflexion von PHP ist tatsächlich ziemlich leistungsfähig. Sie müssen nur einen Schritt weiter gehen und die relevanten Kommentare in den Dokumentationskommentaren analysieren.

AppServer.io bietet eine Lang-Bibliothek zur Unterstützung von Anmerkungen. Die Tokenizer-Funktion von PHP wird auch zum Parsen des Annotationscodes verwendet. Das spezifische Prinzip wird nicht näher erläutert. Wenn Sie interessiert sind, können Sie den Code selbst lesen.
https://github.com/appserver-io/lang

Anweisungen zu Anmerkungen finden Sie unter: http://appserver.io/get-started/documentation/annotations.html

Der Democode ist hier wie folgt auszugsweise dargestellt:

<code><?php

namespace Namespace\Module;

use AppserverIo\Appserver\Lang\Reflection\ReflectionClass;
use AppserverIo\Appserver\Lang\Reflection\ReflectionAnnotation;

class Route extends ReflectionAnnotation
{

  /**
   * Returns the value of the name attribute.
   *
   * @return string The annotations name attribute
   */
  public function getPattern()
  {
    return $this->values['pattern'];
  }
}

class IndexController
{

  /**
   * Default action implementation.
   * 
   * @return void
   * @Route(pattern="/index/index")
   */
  public function indexAction()
  {
    // do something here
  }
}

// create a reflection class to load the methods annotation 
$reflectionClass = new ReflectionClass('IndexController');
$reflectionMethod = $reflectionClass->getMethod('indexAction');
$reflectionAnnotation = $reflectionMethod->getAnnotation('Route');
$pattern = $reflectionAnnotation->newInstance()->getPattern();</code>

Durch diese Funktion kann der URL-Routing-Modus /index/index der Methode durch Annotation angegeben werden

Das Obige hat die Selbstimplementierung von PHP-Code-Annotationsfunktionen einschließlich Aspekten des Inhalts vorgestellt. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-String-Funktion (1)Nächster Artikel:PHP-String-Funktion (1)