for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Meanbee\LibMageConf\Util;
class DsnParser
{
/**
* @param $dsnString
*/
public function __construct($dsnString)
$this->dsn = $dsnString;
dsn
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
}
* @return string
public function getPort()
return $this->getDsnParts()['port'];
public function getHost()
return $this->getDsnParts()['host'];
* @return array
protected function getDsnParts()
$colonPosition = strrpos($this->dsn, ':');
if ($colonPosition === false) {
$host = $this->dsn;
$port = '';
} else {
$host = substr($this->dsn, 0, $colonPosition);
$port = substr($this->dsn, $colonPosition + 1);
return [
'host' => $host,
'port' => $port
];
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: