src
и у него это не получается из-за недостающих параметров. При этом бандл регистрируется и подключает свои сервисы на предыдущем шаге, т.е. приложение пытается перезаписать эти сервисы неверными дефинишенами#config/services.yaml
services:
App\:
resource: '../src/'
exclude:
- '../src/TestBundle/'
- '../src/CurrencyConverterBundle/'
# config/packages/security.yaml
security:
# ...
providers:
backend_users:
ldap:
# ...
legacy_users:
entity:
# ...
users:
entity:
# ...
all_users:
chain:
providers: ['legacy_users', 'users', 'backend_users']
use Brick\Math\BigDecimal;
echo BigDecimal::of('1.23456e27'); // 1234560000000000000000000000
echo BigDecimal::of('1.23456789e-31'); // 0.000000000000000000000000000000123456789
$request
, а там из аттрибутов достать роут/контроллер class UserDTO
{
/**
* @var AutoDTO
* @Assert\Valid
*/
private $auto;
public function setAuto(AutoDTO $auto)
{
$this->auto = $auto;
return $this;
}
}
class AutoDTO
{
/**
* @var PriceDTO
* @Assert\Valid
*/
private $price;
public function setPrice(PriceDTO $price)
{
$this->price = $price;
return $this;
}
}
$response = $client->request(
'POST',
'http://'.$_SERVER['SERVER_NAME'].$this->generateUrl('like_product_controller'), [
GuzzleHttp\RequestOptions::FORM_PARAMS => [
'hash' => $request->request->get('hash'),
],
]
);
PATH_SEPARATOR
(тот который в переменной окружения PATH
) и DIRECTORY_SEPARATOR
function json_tree_tags_recursive($data, &$result, $path = '')
{
foreach ($data as $key => $value) {
if ($path !== '') {
$result[$path . $key] = $value;
} elseif (!is_array($value)) {
$result[$key] = $value;
}
if (is_array($value)) {
json_tree_tags_recursive($value, $result, $path . $key . '_');
}
}
}
json_tree_tags_recursive($data, $result);
print_r($result);
{
"require": {
"phpmailer/phpmailer": "^6.0",
"bogdaan/viber-bot-php": "^0.0.12",
"brickpop/php-rest-curl": "^1.0"
},
"repositories": {
"php-rest-curl": {
"type": "package",
"package": {
"name": "brickpop/php-rest-curl",
"version": "1.0.0",
"source": {
"url": "git@github.com:brickpop/php-rest-curl.git",
"type": "git",
"reference": "master"
},
"autoload": {
"files": ["rest.inc.php"]
}
}
}
}
}
abstract class AbstractAdapter extends \CloudCreativity\LaravelJsonApi\Eloquent\AbstractAdapter
{
public function __construct(CursorStrategy $paging)
{
parent::__construct($this->getModelInstance(), $paging);
}
abstract protected function getModelInstance();
// ...
}
Since every developer uses a different IDE, the recommended way to enable this feature is to configure it on a system level. This can be done by setting the xdebug.file_link_format option in your php.ini configuration file.
# services.yaml
imports:
- { resource: 'local.yaml', ignore_errors: true }
# local.yaml
framework:
ide: 'phpstorm://open?file=%%f&line=%%l'
# .gitignore
/config/local.yaml
class Decoder{
private $inputStr;
private $pos;
private $out;
private $length;
public function __construct(string $str) {
$this->inputStr = $str;
$this->pos = 0; // Было $this->$pos
$this->out = ''; // Было $this->$out
$this->length = mb_strlen($str); // Было $this->$length
}
public function decode(): string {
return $this->out; // // Было $this->$out
}
}
$this->$length = mb_strlen($str);
=> $this->null = mb_strlen($str);
return $this->$out;
=> return $this->null // 6
<?php
$items = range(1, 30);
$chunks = array_chunk($items, 5);
$chunks = array_map(function($items){
return array_chunk($items, 4);
}, $chunks);
?>
<?php foreach ($chunks as $chunk): ?>
<div class="item">
<div class="item-left">
<?php foreach ($chunk[0] as $item): ?>
<div class="point"><?=$item?></div>
<?php endforeach; ?>
</div>
<div class="item-right">
<?php foreach ($chunk[1] as $item): ?>
<div class="point"><?=$item?></div>
<?php endforeach; ?>
</div>
</div>
<?php endforeach; ?>
$chunk[1]
$reflectionExtractor = new ReflectionExtractor();
$phpDocExtractor = new PhpDocExtractor();
$propertyTypeExtractor = new PropertyInfoExtractor([$reflectionExtractor], [$phpDocExtractor, $reflectionExtractor], [$phpDocExtractor], [$reflectionExtractor], [$reflectionExtractor]);
$normalizer = new ObjectNormalizer(null, null, null, $propertyTypeExtractor);
$arrayNormalizer = new ArrayDenormalizer();
$serializer = new Serializer([$arrayNormalizer, $normalizer]);
return $serializer->denormalize($array, ContragentDto::class);
$hosts = [
'ремонтмитино.рф',
'ремонт-королев.рф',
'ремонтчехов.рф',
'ремонтподольск.рф',
'ремонтдомодедово.рф',
];
$brands = [
'aeg',
'samsung',
'lg',
];
$phrases = [
'Работа холодильника основана на принципе холодильной машины, переносящей тепловую энергию из рабочей камеры – наружу, в кухонное помещение',
'Холодильники делятся на два вида: среднетемпературные камеры для хранения свежих продуктов и низкотемпературные морозильные камеры',
'Прототип морозильника появились несколько тысяч лет назад – использовались помещения для хранения продуктов, наполненные льдом',
'Российский прототип холодильника — ледники, представляющие сруб, погруженный в землю',
'С 1930 года хладагентом в морозильниках является инертный газ фреон',
'Хладагент, обычно, фреон — газ, переносящий лишнее для продуктов тепло от испарителя к конденсатору',
'Холодильник тратит около 10% от общего электропотребления дома',
'Наиболее экономный режим холодильника - когда в нём находится большое количество продуктов',
];
$count = 5;
foreach ($hosts as $host) {
foreach ($brands as $brand) {
srand(crc32($host.$brand)); // Чтобы не хранить результат
$brandPhrases = $phrases;
shuffle($brandPhrases);
echo sprintf("%s %s\n", $host, $brand);
$brandPhrases = array_slice($brandPhrases, 0, $count);
var_dump($brandPhrases);
}
}
$array = array_fill(0, 50, 1);
$sum = 20;
function elements($array, $sum, &$result = [], $iteration = [])
{
// Если нужны все перестановки, то нужно закомментировать условие
if (!empty($result)) {
return;
}
if ($sum === 0) {
$result[] = $iteration;
return;
}
foreach ($array as $index => $value) {
if ($sum - $value < 0) {
continue;
}
$next = $array;
unset($next[$index]);
elements($next, $sum - $value, $result, array_merge($iteration, [$index]));
}
return;
}
elements($array, $sum, $result);
// Если вытащены все возможные перестановки, то разкомментировать
// Отсортируем, чтоб убрать повторяющиеся элементы
//foreach ($result as &$item) {
// sort($item);
//}
//unset($item);
//$result = array_unique($result, SORT_REGULAR);
foreach ($result as $item) {
echo 'Индексы элементов массива, составляющих сумму: ' . implode(' ', $item) . \PHP_EOL;
}
$response = json_decode($make_request->send(
'POST',
$config['url'].'/files',
[
'Content-Type' => 'multipart/form-data',
'Authorization' => $config['token'],
'Accept' => 'application/vnd.api+json',
],
['file' => new \CURLFile($_FILES['file']['tmp_name'], null, $_FILES['file']['name']]),
));