1. Go to this page and download the library: Download iadvize/php-convention library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
iadvize / php-convention example snippets
echo 'test';
<title><?=∙$title;∙
// nah
function foo()
{
$foo = 'test';
$foo = strtoupper($foo);
return $foo;
}
// good
function bar()
{
$foo = 'test';
$foo = strtoupper($foo);
return $foo;
}
// bad
$foo = substr(strtoupper('test'), 0, 1);
// good
$foo = 'test';
$foo = strtoupper($foo);
$foo = substr($foo, 0, 1);
// bad
namespace Vendor\fooBar;
// bad
namespace Vendor\foo_bar;
// good
namespace Vendor\FooBar;
// bad
use Foo\Bar,
Qux\Quux,
Foo\Baz;
// bad
use Foo\Bar;
use Qux\Quux;
use Foo\Baz;
// good
use Foo\Bar;
use Foo\Baz;
use Qux\Quux;
use Qux\Corge\Grault;
// bad
use Foo\Bar as Baz;
// bad
use Baz\Qux\Quux as BQQ;
// good
use Foo\Bar as FooBar;
// good
use Baz\Qux\Quux as BazQuxQuux;
// bad
$foo = 'bar'; // Bar in foo
// good
// Foo assignment for example
$foo = 'bar';
// good
// Foo assignment
// for example
$foo = 'bar';
/**
* Foo
*
*/
class Foo
{
/**
* The description of bar
*
* @param string $baz The baz
*
* @return string The return of bar
*/
public function bar($baz)
{
// Returned value
return 'Do something...';
}
}
/**
* Foo
*
*/
class Foo
{
/** @var string $bar It's bar! */
public $bar = '';
}
// Bad
namespace Vendor\Bar\Baz;
/**
* Foo
*
*/
class Foo
{
/** @var \Other\MyClass $myClass */
protected $myClass;
/**
* @return \Other\MyClass
*/
public function getMyClass()
{
return $this->myClass;
}
}
// Good
namespace Vendor\Bar\Baz;
use Other\MyClass;
/**
* Foo
*
*/
class Foo
{
/** @var MyClass $myClass */
protected $myClass;
/**
* @return MyClass
*/
public function getMyClass()
{
return $this->myClass;
}
}
/** @todo Think to check value */
$foo = 'bar';
/** @fixme Change qux to quux */
$baz = 'qux';
// bad
$logger = $this->getServiceLocator()->get('logger');
// bad
$this->getServiceLocator()->get('AwesomeFactory')->createAwesomeness();
// good
/** @var LoggerInterface $logger */
$logger = $this->getServiceLocator()->get('logger');
// good
/** @var AwesomeFactory $awesomeFactory */
$awesomeFactory = $this->getServiceLocator()->get('AwesomeFactory');
$awesomeFactory->createAwesomeness()
// bad
/**
* Class AwesomeFactory
*/
class AwesomeFactory
{
/**
* @return Awesome
*/
public function createAwesomeness()
{
return Awesome();
}
}
$awesomeFactory = new AwesomeFactory();
/** @var Awesome $awesome */
$awesome = $awesomeFactory->createAwesomeness();
// good
/**
* Class AwesomeFactory
*/
class AwesomeFactory
{
/**
* @return Awesome
*/
public function createAwesomeness()
{
return Awesome();
}
}
$awesomeFactory = new AwesomeFactory();
$awesome = $awesomeFactory->createAwesomeness();
// bad
$o = new Object();
// bad
class A
{
}
// bad
public function doIt()
{
}
// good
$object = new Object();
// good
class Substracter
{
}
// good
public function associateChannelToOperator()
{
}
// bad
$enablePlugin = true;
// bad
public function getEnablePlugin() {}
// bad
public function getPluginEnabled() {}
// good
$pluginEnabled = true;
// good
$visible = true;
// good
public function isPluginEnabled() {}
// good
public function isVisible() {}
// bad
$dateUpdate = new \DateTime;
// bad
$endDate = new \DateTime;
// good
$updatedAt = new \DateTime;
// good
$lastLoggedAt = new \DateTime;
// bad
$_foo='';
// bad
$foo_bar = '';
// bad
$fooBar='';
// good
$fooBar∙=∙'';
// bad
$foo = (5+6)/5;
// good
$foo∙=∙(5∙+∙6)∙/∙5;
// bad
/** @var string $foo Property description */
static public $foo = '';
// good
/** @var string $foo Property description */
public static $foo = '';
// bad
protected function _foo()
{
// Do something...
}
// good
protected function foo()
{
// Do something...
}
// bad
public function foo∙()
{
// Do something...
}
// good
public function foo()
{
// Do something...
}
// bad
public function foo()∙{∙
// Do something...
∙}
// good
public function foo()
{
// Do something...
}
// bad
public function foo()∙{
// Do something...}
// good
public function foo()
{
// Do something...
}
// bad
public function foo($bar∙,∙&$baz∙,∙$qux = [])
{
// Do something...
}
// bad
public function foo(∙$bar, &$baz, $qux = []∙)
{
// Do something...
}
// good
public function foo($bar,∙&$baz,∙$qux∙=∙[])
{
// Do something...
}
// good
public function foo(
∙∙∙∙$bar,
∙∙∙∙&$baz,
∙∙∙∙$qux = []
) {
// Do something...
}
// bad
protected abstract function foo();
static public final function bar()
{
// Do something...
}
// good
abstract protected function foo();
final public static function bar()
{
// Do something...
}
namespace Vendor\Foo;
/**
* Interface Foo
*
*/
interface FooInterface
{
/**
* Set Foo
*
* @param string $foo
*/
public function setFoo($foo);
}
namespace Vendor\Foo;
/**
* Trait Foo
*
*/
trait FooTrait
{
/** @var \Vendor\Bar */
protected $bar;
/**
* Set Bar
*
* @param string $bar
*/
public function setBar($bar)
{
$this->bar = $bar;
}
}
// bad
foo∙();
$bar->baz∙();
// good
foo();
$bar->baz();
// bad
foo(∙$qux∙);
$bar->baz(∙$qux∙);
// good
foo($qux);
$bar->baz($qux);
// bad
foo($bar∙,∙$baz∙,∙$qux);
// good
foo($bar,∙$baz,∙$qux);
// bad
foo($longFoo,
$longBar,
$longBaz
);
// bad
foo($longFoo,
$longBar,
$longBaz);
// good
foo(
∙∙∙∙$longFoo,
∙∙∙∙$longBar,
∙∙∙∙$longBaz
);
// bad
$fooBar->baz()->qux($param);
// good
$fooBar
->baz()
->qux($param);
// bad
foo(
[
'foo' => 'bar',
]
);
// good
foo([
'foo' => 'bar',
]);
// bad
if(EXPRESSION){
// Do something...
}
// bad
if (EXPRESSION) {
// Do something...
}
// bad
if (EXPRESSION)
{
// Do something...
}
// bad
if (EXPRESSION) {
// Do something...
}
else {
// Do something...
}
// good
if∙(EXPRESSION)∙{
∙∙∙∙// Do something...
}∙elseif∙(OTHER_EXPRESSION)∙{
∙∙∙∙// Do something...
}∙else∙{
∙∙∙∙// Do something...
}
// bad
$foo = EXPRESSION ? 'bar' : OTHER_EXPRESSION ? 'baz' : 'qux';
// good
$foo∙=∙EXPRESSION∙?∙'bar'∙:∙'baz';
// good
$foo∙=∙EXPRESSION
∙∙∙∙?∙'bar'
∙∙∙∙:∙'baz';
// bad
switch(EXPRESSION)
{
case 0:
// Do something...
break;
}
// good
switch∙(EXPRESSION)∙{
∙∙∙∙case∙0:
∙∙∙∙∙∙∙∙// Do something...
∙∙∙∙∙∙∙∙break;
∙∙∙∙case∙1:
∙∙∙∙∙∙∙∙// Do something with no break...
∙∙∙∙∙∙∙∙// no break
∙∙∙∙case∙2:
∙∙∙∙case∙3:
∙∙∙∙case∙4:
∙∙∙∙∙∙∙∙// Do something with return instead of break...
∙∙∙∙∙∙∙∙return;
∙∙∙∙default:
∙∙∙∙∙∙∙∙// Do something in default case...
∙∙∙∙∙∙∙∙break;
}
// bad
while(EXPRESSION)
{
// Do something...
}
// bad
do
{
// Do something...
} while(EXPRESSION);
// good
while∙(EXPRESSION)∙{
∙∙∙∙// Do something...
}
// good
do∙{
∙∙∙∙// Do something...
}∙while∙(EXPRESSION);
// bad
for( $i=0;$i<10;$i++ )
{
// Do something...
}
// good
for∙($i∙=∙0;∙$i∙<∙10;∙$i++)∙{
∙∙∙∙// Do something...
}
// bad
foreach( $foo as $key=>$value )
{
// Do something...
}
// good
foreach∙($foo∙as∙$key∙=>∙$value)∙{
∙∙∙∙// Do something...
}
// bad
try
{
// Do something...
}
catch(FooException $e)
{
// Do something...
}
// good
try∙{
∙∙∙∙// Do something...
}∙catch∙(FooException∙$exception)∙{
∙∙∙∙// Do something...
}∙catch∙(BarException∙$exception)∙{
∙∙∙∙// Do something...
}∙finally∙{
∙∙∙∙// Do something...
}
// good
$closureWithArguments∙=∙function∙($foo,∙$bar)∙{
∙∙∙∙// Do something...
};
// good
$closureWithArgumentsAndVariables∙=∙function∙($foo,∙$bar)∙use∙($baz,∙$qux)∙{
∙∙∙∙// Do something...
};
// good
$longArgumentsNoVariables∙=∙function∙(
∙∙∙∙$longArgumentFoo,
∙∙∙∙$longArgumentBar,
∙∙∙∙$longArgumentBaz
)∙{
∙∙∙∙// Do something...
};
// good
$noArgumentsLongVariables∙=∙function∙()∙use∙(
∙∙∙∙$longVariableFoo,
∙∙∙∙$longVariablBar,
∙∙∙∙$longVariableBaz
)∙{
∙∙∙∙// Do something...
};
// good
$longArgumentsLongVariables∙=∙function∙(
∙∙∙∙$longArgumentFoo,
∙∙∙∙$longArgumentBar,
∙∙∙∙$longArgumentBaz
)∙use∙(
∙∙∙∙$longVariableFoo,
∙∙∙∙$longVariableBar,
∙∙∙∙$longVariableBaz
)∙{
∙∙∙∙// Do something...
};
// good
$longArgumentsShortVariables∙=∙function∙(
∙∙∙∙$longArgumentFoo,
∙∙∙∙$longArgumentBar,
∙∙∙∙$longArgumentBaz
)∙use∙($variableFoo)∙{
∙∙∙∙// Do something...
};
// good
$shortArgumentsLongVariables∙=∙function∙($argumentFoo)∙use∙(
∙∙∙∙$longVariableFoo,
∙∙∙∙$longVariableBar,
∙∙∙∙$longVariableBaz
)∙{
∙∙∙∙// Do something...
};
$foo->bar(
∙∙∙∙$argumentFoo,
∙∙∙∙function∙($argumentBar)∙use∙($variableFoo)∙{
∙∙∙∙∙∙∙∙// Do something...
∙∙∙∙},
∙∙∙∙$argumentBaz
);
// bad
$response = [];
if ($foo) {
foreach ($foo->getBars() as $bar) {
if ($bar->hasBaz()) {
// 3 nested levels
}
}
}
return $response;
// good
$response = [];
if (!$foo) {
return $response;
}
foreach ($foo->getBars() as $bar) {
if ($bar->hasBaz()) {
// only 2 nested levels
}
}
return $response;
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.