PHP Yöntem Dönüş Türü İpuçları belirtin

4 Cevap

Bana bir yöntem için dönüş türü ipuçları belirtmek için doğru sözdizimi nedir?

Örneğin, bu tür bir yöntemi vardır:

private static function ConstructPDOObject($dbname) 
{
	  $hostname =self::HOSTNAME;
		$username = self::USERNAME;
		$password = self::PASSWORD;
		$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
		return $dbh;
}

Ben yukarıdaki yöntemi çağırdığınız Ve ben IDE bana PDO için yöntemler gösterecektir, istiyorum.

Nasıl türü ipucu eklemek için?

4 Cevap

Aptana içinde, PDT, Zend Studio ve diğer IDE aşağıdaki gibi php yöntemlere Tür Dayatma ekleyebilirsiniz:

/**
 * Constructs a new PDO Object and returns it
 *
 * @param string $dbname name of the database to connect to
 * @return PDO connection to the database
 */
private static function ConstructPDOObject($dbname) 
{
      $hostname =self::HOSTNAME;
            $username = self::USERNAME;
            $password = self::PASSWORD;
            $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
            return $dbh;
}

Sınıf adı yöntemin dönüş türü belirtmek için dokümantasyon bloğun @ dönüş niteliğinden sonra yerleştirilir. Örneğin Kullanıcı, örneğin bir yöntem durumunda, PDO döndürülür sınıf adıdır. Ek açıklama "veritabanına bağlantı" diğer geliştiricilere döndürülen değeri anlamlı bir açıklama sağlamak için kullanılır, bu gerekli değildir, ancak tavsiye edilir.

Bu şekilde php yöntemlerini belgeleyen hakkında büyük şeylerden biri, sonra da phpDocumentor veya doxygen kullanarak belgeleri oluşturmak olduğunu.

PHP dönüş türleri Tür Dayatma desteklemiyor. Belki dönüş türünü bildiren bir belge blok eklemek gerekir ve belki IDE (böyle olmaz ya da ben bilmiyorum), bulacaktır.

Dönüş tipi ipuçları sadece IDE tarafından sağlanır. Zend stüdyo ve PDT phpDocumentor tarzı doc bloklarını destekler.

http://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial%5Ftags.return.pkg.html

IDE ima yorum yoluyla yapılır. İşte benim ZEND Ön Eklentiler birinden bir örnektir.

<?php

/**
 * Initializes Application wide authentication
 *
 * @author Lance Rushing
 * @since  2009-06-01
 * @param  Zend_Session $session
 * @return Zend_Auth  <--- gives IDE Hint
 */
protected function initAuth($session)
{
    $auth = Zend_Auth::getInstance();
    require_once 'AuthStorage.php';
    $auth->setStorage(new My_AuthStorage($session));
    return $auth;
}