
PHP — . PHP, {lang_name}
. - .
PHP . . . " — — — " .
PHP . , backend , . . . , .
. . , , . " " " ". , .
1.
. JavaScript .
let str = "1,2,3";
let arr = str.split(",");
arr = arr.map(_ => _ * 2);
console.log(arr); // [2, 4, 6]
, , , ..
JavaScript, , , . , String
, .
PHP - ?
$str = '1,2,3';
$arr = $str->explode(',');
$arr = $arr->map(function ($i) {
return $i * 2;
});
var_dump($arr);
// :
$str = '1,2,3';
$arr = $str
->explode(',')
->map(function ($i) {
return $i * 2;
});
var_dump($arr);
, String
Array
. .
$arr->keyExists(...);
$arr->map(...);
$arr->filter(...);
$arr->keys(...);
$arr->push(...);
$arr->pop(...);
$arr->exists(...); // in_array
$str->repeat(...);
$str->join(...);
$str->trim(...);
$str->replace(...);
: . ? , is_iterable
, is_numeric
, is_countable
, c instanceof
\Countable
, \Traversable
.. ?
2.
, Java. . DI , , :
$service = $container->get<SomeService>();
, (Yii2 Query Doctrine).
, , type hinting ( ). , :
public function getItems(): Array<Item>
public function setItems(Array<Item>): void
, ? , , IDE , PHPDoc . , :
public function getItems(): Collection<Item>
public function setItems(Collection<Item>): void
PHPDoc (SomeObject[]
), . , , ( array
, ).
3.
Java 1.6 ( ). . (Java , , - )
JavaScript — ( , , Babel).
PHP? PHP PHPDoc , . , . , Doctrine PHP-DI.
, Symfony Event Dispatcher. -, , getSubscribedEvents
, , — , — , . . , . ? . - , , -, getSubscribedEvents
, (), () . , - , , . . , -, IDE ( — , IDE). .
, :
@EventSubscriber(ItemEvents::CREATE)
public function itemCreated(ItemEvent $event)
, . , , . . : - , , .
IDE, . , , namespace'.
, . , , ...
4. .
JavaScript (, ..) :
$input = [...];
$output = [];
foreach ($input as $i => $item) {
// logic
$output[$i] = $item;
}
ReactJS + Redux :
let output = input.map(item => {
// logic
return item;
});
, PHP:
$output = array_map(function($item) {
// logic
return $item;
}, $input);
:
$output = $input->map(($item) => {
// logic
return $item;
});
, PHP -, function($item) {}
- . , - ( JS). , . . RFC. , ?
5.
. JavaScript Promise. , .
PHP , , . HTTP . , , , . , Slack Mailgun . HTTP . , ? . .
PThreads, ? , , .
6.
:
class Money {
__constuct($currency = new Currency('RUB')) {...}
}
:
class Money {
private $currency = new Currency('RUB');
public function setCurrency(Currency $currency) {...}
}
, , .
, , - , :
class Money {
private $currency;
__constuct(Currency $currency = null) {
$this->currency = $currency ?? new Currency('RUB');
}
}
. :
public function someMethod($value = $this->defaultValue): void
public $statuses = SomeClass::getStatuses();
.
7.
, (1) , (2) . , PHP . . , . , , PHP .
8. function
function
.
public function someMethod()
//
public someMethod()
. , PHP, Java JavaScript, . , ? . , , . , 9 , . , .
9.
, , . , PHP , , .. : , " ", . !
, , , ( Array::method()
), deprecated
. !
, PHP , , .. (json_encode -> Json::encode
, cUrl
).
- , , , , , Codesniffer … . , . , , .
, ( ) , . . , . . , PHP , .
, , , , . ?) , , , . , .
. . , . , Java. . , .
PHP?