Download and install Atom Editor:
cd ~/Downloads
wget https://github.com/atom/atom/releases/download/v1.15.0/atom-amd64.deb
sudo dpkg -i atom-amd64.deb
Install required SO packages:
sudo apt install php php-sqlite3 php-mbstring sqlite3 composer npm
atom-beautify uses JS Beautify by default.
sudo npm -g install js-beautify
apm install atom-beautify
For PHP, atom-beautify follow coding standards from php-codesniffer.
Install php-codesniffer:
sudo apt install php-codesniffer
After, you can see the default Standards with the command phpcs -i
. The output will be like:
The installed coding standards are PEAR, Squiz, MySource, PHPCS, Zend, PSR1 and PSR2
CodeIgniter has your own Codeing Standard and the CodeIgniter-for-PHP_CodeSniffer follow this rules.
We can install the CodeIgniter Standard as follow:
mkdir CodeIgniter-for-PHP_CodeSniffer
cd CodeIgniter-for-PHP_CodeSniffer
wget https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer/archive/master.zip
unzip master.php
Now, lets put the src folder in the correct path:
sudo cp -r CodeIgniter-for-PHP_CodeSniffer-master/src/ /usr/share/php/PHP/CodeSniffer/Standards/CodeIgniter/
Now, the output of phpcs -i
will be:
The installed coding standards are PEAR, Squiz, MySource, PHPCS, Zend, PSR1, PSR2 and CodeIgniter
If do you wnat, you can change the PHPCBF Standard to CodeIgniter
.
TODO: Is possible setup PHPCBF Standard by project-manager file?
sudo npm -g install linter
sudo npm -g install htmlhint
sudo npm -g install csslint
sudo npm -g install jshint
apm install linter
apm install linter-htmlhint
apm install linter-csslint
apm install linter-jshint
PHP Integrator is a powerfull project that provides code analysis and utilities for PHP projects.
PHP Integrator uses composer to install the core and you need install the correct version corresponding to the php-integrator-base version.
composer global require php-integrator/core 2.1.1
PHP Integrator uses the project-manager to activate resources based by project.
Lets install the Atom packages:
apm install project-manager
apm install php-integrator-base
apm install php-integrator-linter
apm install php-integrator-annotations
apm install php-integrator-autocomplete-plus
apm install php-integrator-call-tips
apm install php-integrator-navigation
apm install php-integrator-tooltips
apm install php-integrator-refactoring
When you works on a CodeIgniter 3 project you can download this file https://raw.githubusercontent.com/natanfelles/codeigniter-phpstorm/master/phpstorm.php inside your project root.
After go to Atom and open the menu Packages > Project Manager > Edit Projects and configure your project like it:
{
title: "CodeIgniter 3"
paths: [
"/home/username/codeigniter3"
]
icon: "icon-flame"
devMode: false
php:
enabled: true
php_integrator:
enabled: true
phpVersion: 5.6
excludedPaths: [
"{0}/application/cache/",
"{0}/application/logs/",
"{0}/system/core/Controller.php",
"{0}/system/core/Model.php"
]
fileExtensions: [
"php"
]
}
This tip will do PHP Integrator do not read the Controller.php
and Model.php
from the system folder, then it will use all the @property
from phpstorm.php
file.
You can read more about it in Code Completion for CodeIgniter in phpStorm and here Excluding Folders From Indexing.
On CodeIgniter 4 you do not need do this config. PHP Integrator will works natively well.
Some extra packages that I like:
apm install atom-ternjs
apm install color-picker
apm install pigments
apm install git-plus
apm install docblockr
apm install bootstrap3-snippets
apm install file-icons
apm install editorconfig
apm install todo-show
apm install highlight-selected
apm install emmet
apm install minimap
apm install language-htaccess
apm install language-markdown
apm install linter-write-good
apm install linter-json-lint
apm install api-docs
apm install sync-settings
where to put the phpstorm.php file? i put in at the same directory with index.php, and config the projects. but it wont show me any autocompletes like on pict above.
can you tell me little bit detail about this?
[ { title: "CIS" paths: [ "C:\\xampp\\htdocs\\CIS" ] icon: "icon-flame" php: enabled: true php_integrator: enabled: true phpVersion: 7.1 excludedPaths: [ "{0}/application/cache/" "{0}/application/logs/" "{0}/system/core/Controller.php" "{0}/system/core/Model.php" ] fileExtensions: [ "php" ] } ]
that is my project configuration