CodeIgniter, Eclipse PDT и използването на IntelliSense
За тези, които не са наясно, IntelliSense е удобство предлагано от Eclipse PDT, което ни позволява бързо да инспектираме атрибутите на инстанцирани обекти от какъвто ида е тип, параметрите на функциите/методите, допълване на кода, кратко описание, ако е налично и други. Това е невероятно удобно, при разработката на приложения, независимо от програмния език. Когато разработваме с CodeIgniter, поради начина, по който е написан framework-a, IntelliSense-а не работи.
Намерих един пост, който описва как може да си го пусне човек – може би просто аз съм неспособен да го направя – вижте тук.
След известно време размишление какво да направя установих, че в повечето от проектите си аз екстендвам Controller класа и си използвам мой си клас. И така в екстенднатия клас аз просто си добавих променливите към дефиницията на класа + phpdoc коментар. По този начин успях да си активирам IntelliSense-а за Eclipse PDT и главните библиотеки на CodeIgniter. Ето и кода:
<?php class MY_Controller extends Controller { /** * @var CI_User_agent */ var $agent; /** * @var CI_Benchmark */ var $benchmark; /** * @var CI_Calendar */ var $calendar; /** * @var CI_Cart */ var $cart; /** * @var CI_Config */ var $config; /** * @var CI_DB_driver */ var $db; /** * @var CI_Email */ var $email; /** * @var CI_Encrypt */ var $encrypt; /** * @var CI_Form_validation */ var $form_validation; /** * @var CI_FTP */ var $ftp; /** * @var CI_Image_lib */ var $image_lib; /** * @var CI_Input */ var $input; /** * @var CI_Language */ var $lang; /** * @var CI_Output */ var $output; /** * @var CI_Pagination */ var $pagination; /** * @var CI_Parser */ var $parser; /** * @var CI_Session */ var $session; /** * @var CI_Table */ var $table; /** * @var CI_Trackback */ var $trackback; /** * @var CI_Typography */ var $typography; /** * @var CI_Unit_test */ var $unit; /** * @var CI_Upload */ var $upload; /** * @var CI_URI */ var $uri; /** * @var CI_Xmlrpc */ var $xmlrpc; /** * @var CI_Xmlrpcs */ var $xmlrpcs; /** * @var CI_Zip */ var $zip; } ?>
Забележете, че няма нужда от да се инициализира нищо, да се редактират основните класове на CodeIgniter в системната папка или каквото и да било.
Прочети статията на: English
Все още няма коментари.