Search
Write a publication
Pull to refresh

Добавляем свои подсказки к коду в Adobe Dreamweaver CS5

Reading time4 min
Views2.1K
Всем доброе время суток.
Я давно пользуюсь Adobe Dreamweaver CS5 в разработке своих скриптов, сайтов, порталов…
И вот в один прекрасный день я задался вопросом, а как добавить свои подсказки в Dreamweaver?

Начал как всегда с Googla, и не нашел там не чего подходящего и тогда решил разбираться самостоятельно Метод научного тыка.


Что мне хотелось получить?

В Dreamweaver если ввести такую строчку $cl = new то появится набор классов заложенных в него программистами и после объявления класса введя $cl-> появятся методы этого класса.
Я же хочу просто добавить туда свои методы и классы.

Если долго мучится что нибудь получится

После долгих поисков я нашел папку по адресу C:\Program Files\Adobe\Adobe Dreamweaver CS5\configuration\CodeHints\BuiltinCode\, в этой папки есть несколько файлов, но нам нужен PHP_CORE.php.
Файлу нужно выставить права для редактирования.

Просмотрев его содержимое мне стало все предельно понятно, не буду показывать все содержимое этого файла покажу только часть.

//@php_CORE2.xml#PDO
 class PDO   {

// Constants
	 const PARAM_BOOL=5;
	 const PARAM_NULL=0;
	 const PARAM_INT=1;
	 const PARAM_STR=2;
	 const PARAM_LOB=3;
	 const PARAM_STMT=4;
	 const PARAM_INPUT_OUTPUT=-2147483648;
	 const PARAM_EVT_ALLOC=0;
	 const PARAM_EVT_FREE=1;
	 const PARAM_EVT_EXEC_PRE=2;
	 const PARAM_EVT_EXEC_POST=3;
	 const PARAM_EVT_FETCH_PRE=4;
	 const PARAM_EVT_FETCH_POST=5;
	 const PARAM_EVT_NORMALIZE=6;
	 const FETCH_LAZY=1;
	 const FETCH_ASSOC=2;
	 const FETCH_NUM=3;
	 const FETCH_BOTH=4;
	 const FETCH_OBJ=5;
	 const FETCH_BOUND=6;
	 const FETCH_COLUMN=7;
	 const FETCH_CLASS=8;
	 const FETCH_INTO=9;
	 const FETCH_FUNC=10;
	 const FETCH_GROUP=65536;
	 const FETCH_UNIQUE=196608;
	 const FETCH_KEY_PAIR=12;
	 const FETCH_CLASSTYPE=262144;
	 const FETCH_SERIALIZE=524288;
	 const FETCH_PROPS_LATE=1048576;
	 const FETCH_NAMED=11;
	 const ATTR_AUTOCOMMIT=0;
	 const ATTR_PREFETCH=1;
	 const ATTR_TIMEOUT=2;
	 const ATTR_ERRMODE=3;
	 const ATTR_SERVER_VERSION=4;
	 const ATTR_CLIENT_VERSION=5;
	 const ATTR_SERVER_INFO=6;
	 const ATTR_CONNECTION_STATUS=7;
	 const ATTR_CASE=8;
	 const ATTR_CURSOR_NAME=9;
	 const ATTR_CURSOR=10;
	 const ATTR_ORACLE_NULLS=11;
	 const ATTR_PERSISTENT=12;
	 const ATTR_STATEMENT_CLASS=13;
	 const ATTR_FETCH_TABLE_NAMES=14;
	 const ATTR_FETCH_CATALOG_NAMES=15;
	 const ATTR_DRIVER_NAME=16;
	 const ATTR_STRINGIFY_FETCHES=17;
	 const ATTR_MAX_COLUMN_LEN=18;
	 const ATTR_EMULATE_PREPARES=20;
	 const ATTR_DEFAULT_FETCH_MODE=19;
	 const ERRMODE_SILENT=0;
	 const ERRMODE_WARNING=1;
	 const ERRMODE_EXCEPTION=2;
	 const CASE_NATURAL=0;
	 const CASE_LOWER=2;
	 const CASE_UPPER=1;
	 const NULL_NATURAL=0;
	 const NULL_EMPTY_STRING=1;
	 const NULL_TO_STRING=2;
	 const ERR_NONE=00000;
	 const FETCH_ORI_NEXT=0;
	 const FETCH_ORI_PRIOR=1;
	 const FETCH_ORI_FIRST=2;
	 const FETCH_ORI_LAST=3;
	 const FETCH_ORI_ABS=4;
	 const FETCH_ORI_REL=5;
	 const CURSOR_FWDONLY=0;
	 const CURSOR_SCROLL=1;
	 const MYSQL_ATTR_USE_BUFFERED_QUERY=1000;
	 const MYSQL_ATTR_LOCAL_INFILE=1001;
	 const MYSQL_ATTR_INIT_COMMAND=1002;
	 const MYSQL_ATTR_READ_DEFAULT_FILE=1003;
	 const MYSQL_ATTR_READ_DEFAULT_GROUP=1004;
	 const MYSQL_ATTR_MAX_BUFFER_SIZE=1005;
	 const MYSQL_ATTR_DIRECT_QUERY=1006;
	 const PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT=1000;

// Properties

// Methods
 //@php_CORE2.xml#PDO::__construct
	public function __construct( $dsn , $username , $passwd , array $options ){ }
 //@php_CORE2.xml#PDO::prepare
	public function prepare( $statment , array $options ){ return new PDOStatement();}
 //@php_CORE2.xml#PDO::beginTransaction
	public function beginTransaction(){ }
 //@php_CORE2.xml#PDO::commit
	public function commit(){ }
 //@php_CORE2.xml#PDO::rollBack
	public function rollBack(){ }
 //@php_CORE2.xml#PDO::setAttribute
	public function setAttribute( $attribute , $value ){ }
 //@php_CORE2.xml#PDO::exec
	public function exec( $query ){ }
 //@php_CORE2.xml#PDO::query
	public function query(){ return new PDOStatement();}
 //@php_CORE2.xml#PDO::lastInsertId
	public function lastInsertId( $seqname ){ }
 //@php_CORE2.xml#PDO::errorCode
	public function errorCode(){ }
 //@php_CORE2.xml#PDO::errorInfo
	public function errorInfo(){ return array();}
 //@php_CORE2.xml#PDO::getAttribute
	public function getAttribute( $attribute ){ }
 //@php_CORE2.xml#PDO::quote
	public function quote( $string , $paramtype ){ }
 //@php_CORE2.xml#PDO::getAvailableDrivers
	public static function getAvailableDrivers(){ return array();}

}


Кому не понятно объясняю:
  1. Объявляем класс
  2. Вписываем в тело класса нужные поля, методы, константы...


Вот небольшой пример:


class InformationSystem{
public function ShowAddComment( string $xslname, array $param = array (
  'confirm_comment' => false, 
  'status' => 0, 
  'comment_mail_type' => 1 
  ) ) { }
public function ShowInformationSystem( mixed $InformationSystemIdArray, int $information_groups_id, string $xsl_name, int $items_on_page, int $items_begin, array $external_propertys = array(), array $property = array() ) { }
 public function ShowInformationSystemItem( int $information_item_id, string $xsl_name, array $external_propertys = array(), array $property = array() ) { }
 public function ShowInformationSystemPageConfig( int $InformationSystem_id, int $items_on_page, array $property = array()) { }
 public function ShowInformationSystemPageContent( int $InformationSystem_id, string $xsl_list, string $xsl_item, array $property = array(), array $external_propertys = array(), array $infsys_property = array() ) { }
 public function ShowInformationSystemRss( int $InformationSystem_id, mixed $information_groups_id, int $items_on_page = 10, int $items_begin = 0, array $property = array() ) { }
 public function ShowTagsCloud( int $InformationSystemId, str $xsl_name, array $property = array(), array $external_propertys = array() ) { }
 public function UserCanAddComment( string $date,  $ip, array $param = array(), string $comment_ip ) { }
 public function _CallbackSearch( array $row ) { }
}


Что получилось в итоге?

image
image

Итог

Теперь работать с СМС мне стало гораздо проще, так как нету нужды периодически заглядывать в api.
Tags:
Hubs:
Total votes 7: ↑5 and ↓2+3
Comments1

Articles