#!/bin/sh # 1. Install the php-cs-fixer command-line tool: https://github.com/fabpot/PHP-CS-Fixer # 2. Run this script. # Locate the script file. Cross symlinks if necessary. loc="$0" while [ -h "$loc" ]; do ls=`ls -ld "$loc"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then loc="$link" # Absolute link else loc="`dirname "$loc"`/$link" # Relative link fi done script_dir=`dirname "$loc"` top_dir=`cd "$script_dir/.."; pwd` php-cs-fixer fix "$top_dir/"{lib,test,examples} --dry-run --verbose --diff \ --fixers=-phpdoc_params,-visibility,-return,-braces,-psr0,-elseif,-function_declaration # NOTE(cakoose): Reasons for excluding these fixers: # - phpdoc_params: This puts two spaces after the '@param', which I didn't like. # - visibility: In PHP, if you don't specify a visibility modifier, it's 'public'. This seems a # reasonable default and I don't see any advantages to being verbose and saying 'public' each # time. # - return: This is annoying for two-line functions where you check something and then return. # - braces: Different brace styles don't really bother me, but I'm not strongly opposed to forcing # one style, though. # - psr0: I don't object to what this is trying to enforce, but it makes breaking changes to your # code. # - elseif: I'm not strongly opposed, but I don't see the advantage. # - function_declaration: This probably enforces some good rules, but it also requires a space # between "function" and "(...)" in an anonymous function expression.