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

  1. Все още няма коментари.

  1. Все още няма нито един trackback.