関数
戻り値のリファレンスを返す関数
function &foo() {
var $bar = 1;
return $bar;
}
var $hoge = &foo()
型を指定した関数の宣言
function foo(Car $car): Array {
class
Document
マジックメソッドはpythonの特殊メソッドのようなもの
class Base
{
public $foo;
public function __construct($foo='foo')
{
$this->foo = $foo;
}
public function foo()
{
echo 'foo';
}
}
class Car extends Base
{
use FooTrait, BarTrait;
const NAME = 'name';
public $bar;
public static $car_static = 'foo';
public function __construct($foo)
{
parent::__construct($foo);
$this->bar = function() {
return 42;
};
}
public function foo()
{
echo self::$car_static;
}
// サブクラスでオーバーライドされない
final public function foo()
{
echo self::$car_static;
}
}
$name = 'Car';
echo $name::$car_static;
$car = new Car('bar');
抽象クラス
abstract class Foo
{
abstract public function bar(string $text): Array;
}
インターフェイス
interface Foo
{
public function bar();
public function hoge(): string;
}
スコープ定義演算子(::) *
// 定数、クラス変数、クラスメソッド
ClassObj::foo
// 自身の定数、クラス変数、クラスメソッド
self::foo
// 親クラスの定数、クラス変数、クラスメソッド
parent::foo
trait
構文
Document
PHPではlist()を使うとes2015のようにdestructすることができる
foreach ($arr as $k => $v) {
}
if ($a > $b) {
} elseif ($a == $b) {
} else {
}
組み込み関数
- array compact ( mixed $varname1 [, mixed $… ] ) link
指定した文字列をキーに、それを名前に持つローカル変数を値にした連想配列を返す
$a = 1;
$b = 2;
$c = 3;
compact('a', 'b', 'c');
/*
[
'a' => 1,
'b' => 2,
'c' => 3
]
*/
-
array list ( mixed $var1 [, mixed $… ] )はアンパック代入をすることができる。
-
環境変数を取得する
export a=1
echo getenv('a');
// => 1
-
ctype_digit($text)はすべて数字かどうか
-
ファイルに追記
file_put_contents
file_put_contents("foo.txt", "bar\n", FILE_APPEND);
use *
指定した名前空間にある変数やクラスや関数をインポートする 特に何も指定しない場合は全部インポートされる