Atom PHP Environment + CodeIgniter 3 & 4
Install
Download and install Atom Editor:
1 2 3
cd ~/Downloads wget https://github.com/atom/atom/releases/download/v1.15.0/atom-amd64.deb sudo dpkg -i atom-amd64.deb
Install required OS packages:
sudo apt install php php-sqlite3 php-mbstring sqlite3 composer npm
Code Formatters
atom-beautify uses JS Beautify by default.
1 2
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 Coding Standard and the CodeIgniter-for-PHP_CodeSniffer follow this rules.
We can install the CodeIgniter Standard as follow:
1 2
wget https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer/archive/master.zip unzip master.php
Copy the src folder to 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
Linters
Node packages:
1 2 3 4
sudo npm -g install linter sudo npm -g install htmlhint sudo npm -g install csslint sudo npm -g install jshint
Atom packages:
1 2 3 4
apm install linter apm install linter-htmlhint apm install linter-csslint apm install linter-jshint
The Awesome
PHP Integrator is a powerful 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:
1 2 3 4 5 6 7 8 9
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
CodeIgniter
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
title: "CodeIgniter 3 - Project"
group: "CodeIgniter"
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"
]
settings:
"atom-beautify":
php:
cs_fixer_path: "php-cs-fixer"
default_beautifier: "PHPCBF"
phpcbf_path: "phpcbf"
standard: "CodeIgniter"
}
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. Also will use the CodeIgniter Standard on atom-beautify.
You can read more about it in Code Completion for CodeIgniter in phpStorm and here Excluding Folders From Indexing.
The atom-beautify also provides an option to create a custom .jsbeautifyrc file.
On CodeIgniter 4 you do not need do this config. PHP Integrator will works natively well.
Extras
Some extra packages that I like:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
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 apm install atom-minify
Contribute
Your suggestions are welcome. Visit the CodeIgniter Community.
O que acha de me comprar um café? Comprar um café