doomemacs/modules/lang/php
Henrik Lissner d8b1e469bc
Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
..
autoload.el Rethink what Doom loads at startup and manually 2018-01-07 00:15:57 -05:00
config.el Introduce autodefs to replace some settings 2018-06-15 03:42:01 +02:00
packages.el lang/php: refactor + add company-php 2017-05-23 21:33:03 +02:00
README.org Standardize module READMEs 2017-08-21 20:13:31 +02:00

:lang php

This module adds support for PHP 5.3+ (including PHP7).

  • ctags-based code completion (company-php and phpctags)
  • eldoc support (ac-php and php-extras)
  • REPL (php-boris)
  • Code refactoring commands (php-refactor-mode)
  • Unit-test commands (phpunit)
  • Support for laravel and composer projects (with project-specific snippets)
  • File templates
  • Snippets

PHP was the first programming language I got paid to code in, back in the Cretaceous period (2003). My sincerest apologies go out to all the programmers who inherited my earliest PHP work. I know you're out there, writhing in your straitjackets.

Save a programmer today. Stop a friend from choosing PHP as their first language.

Table of Contents   TOC

Install

PHP

To get started with PHP, you'll need php (5.3+) and composer:

MacOS

PHP 5.5 comes prepackaged with newer versions of MacOS. These instructions are provided for reference:

brew tap homebrew/homebrew-php
brew install php71  # or php53, php54, php55
brew install composer

Arch Linux

sudo pacman --needed --noconfirm -S php composer  # or php53, php54, php55

Dependencies

The features in this module optionally depend on the following php packages:

  • boris (REPL)
  • phpctags (better code completion)
  • phpunit (unit test commands)
composer global require \
    d11wtq/boris \
    phpunit/phpunit \
    techlivezheng/phpctags

Ensure that \~/.composer/vendor/bin is in PATH:

# place this in your profile file, like ~/.bash_profile or ~/.zshenv
export PATH="~/.composer/vendor/bin:$PATH"