но при отмене заказа разве он не оставит плохой отзыв?
PS. Аккаунт вообще заморозили пока не пройду интервью
output.publicPath: '/bundles/'
npm init
задаёт вам разные вопросы и создает package.json, который определяет настройки проекта, зависимости, скрипты, название и прочее.npm install [module]
устанавливает модуль с именем module.npm init
(можно с опцией --yes
, которая установит на все вопросы дефолтные ответы), а потом уже устанавливать модули командой npm install
Так вот,мне не понятна сама шаблонизация верстка.Как это происходит и для чего?Я использую в обучение pug,чисто из-за того что легче и быстрее верстать,удобно разбить на секции на отдельные файлы ,чтобы удобно было верстать, и всё,потом gulp мне выдает готовые страница..
$data['name1']['name2']['name3'] = 'some data';
$propertyAccessor = \Symfony\Component\PropertyAccess\PropertyAccess::createPropertyAccessor();
$keys = '[name1][name2][name3]';
echo $propertyAccessor->getValue($data, $keys);
Хотя я, если честно, искал какой-то вариант в одну строку, грубо говоря - некий оператор, позволяющий обратиться нужным мне образом к массиву.
echo eval("return \$data$keys_str;");
echo array_reduce($keys_arr,function($data, $key){return isset($data[$key])?$data[$key]:null;},$data);
Работающий примерecho array_reduce($keys_arr, function($data, $key) {
return isset($data[$key]) ? $data[$key] : null;
}, $data);
Используются:/**
* Retrieves an element within multidimensional array stored on any level by it's keys.
* @param array $data A multidimensional array with data
* @param array $keys A list of keys to element stored in $data
* @return null|mixed Returns null if elements is not found. Element's value otherwise.
*/
function getElement(array $data, array $keys)
{
/** перебираем ключи */
foreach($keys as $key) {
/**
* Если текущий элемент - массив, и в нём есть ключ, то текущий массив перезаписываем на новый.
* А если ключа такого нет или это не массив, то возвращаем null.
*/
if (is_array($data) && array_key_exists($key, $data)) {
$data = $data[$key];
} else {
return null;
}
}
return $data;
}
$data = [
'key1' => [
'key2' => [
'key3' => [
'value' => 123
]
]
]
];
echo getElement($data, ['key1', 'key2', 'key3', 'value']); // => 123
/**
* Retrieves an element within multidimensional array stored on any level by it's keys.
* @param array $data A multidimensional array with data
* @param string|array $keys A list of keys to element stored in $data as an array or a string with joined keys with a dot (.)
* @return null|mixed Returns null if elements is not found. Element's value otherwise.
*/
function getElement(array $data, $keys)
{
if (is_string($keys)) $keys = explode('.', $keys);
/** перебираем ключи */
foreach($keys as $key) {
/**
* Если текущий элемент - массив, и в нём есть ключ, то текущий массив перезаписываем на новый.
* А если ключа такого нет или это не массив, то возвращаем null.
*/
if (is_array($data) && array_key_exists($key, $data)) {
$data = $data[$key];
} else {
return null;
}
}
return $data;
}
echo getElement($data, 'key1.key2.key3.value'); // => 123
function getElement(array $data, array $keys = [])
{
/** присваиваем элементу текущий массив */
$element = $data;
/** перебираем ключи */
foreach($keys as $key) {
/**
* Если в текущем массиве есть ключ, то текущий массив перезаписываем на новый
* А если ключа такого нет, то
* @return null
*/
if( ($element = $element[$key]) === null) {
return null;
}
}
return $element;
}
class Foo
{
public function Bar()
{
$var = 321;
function Baz($var)
{
// передать в функцию аргументом
}
}
}
class Foo
{
protected $var;
public function Bar()
{
$this->var = 321;
function Baz()
{
// использовать $this->var;
}
}
}
'has_archive' => true, // чтобы была страница архива site.com/portfolio со всеми записями
'rewrite' => false, // чтобы не создавались ЧПУ для single записей, от слова "совсем"
$http = new GuzzleHttp\Client;
$response = $http->post('http://your-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'username' => 'taylor@laravel.com',
'password' => 'my-password',
'scope' => '',
],
]);
return json_decode((string) $response->getBody(), true);