Laravel по-русски
Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Если не будет советов, как что-то Ларавел-овское использовать - используй сокеты.
Он спросил, почему яблоко кислое, а вы ответили, что ласточки нынче высоко летают.
Неправда. Я ответил, почему яблоко кислое: сорт такой. Неуважаемые Вами домохозяйки не станут спрашивать, как подсластить кислое яблоко. Но Вы ж не домохозяйка. Вы умнее, ага.
"Дыру Винды" даже комментировать не буду, это совершенно глупый стереотип на уровне домохозяек.
Домохозяйки, кстати, подметили, что в Винде php работает от имени пользователя System.
но учитывая уровень некоторых админов они бы на *nix в жизни ничего не подняли бы. Имеет право на жизнь.
А вот это уже ближе к телу.
Это мой опыт, возможно у кого-то был другой опыт с виндой.
Всё не так плохо, когда Вы, так сказать, Artisan ![]()
То есть Вы один работаете с сервером и админ на нём. Конечно, нужен "грамотный подход", чтоб дыры Винды затыкать, ну и вот, как у лесного обитателя, что-то тормозит (уж не без этого, Винда всё-таки!) - но жить можно.
Но если команда разработчиков - тогда всё становится совсем плохо.
вы сами же начали. Как ответили - так и получили.
Я ответил,что нужно нужно подбирать технологии по назначению. А получил бакланство.
Это всё-таки разные вещи.
В общем, забудь о винде как сервере для своего проЁкта.
Да и вообще, с каких пор Windows не подходит для веб-разработки?
Перечитайте, для чего она не подходит. Как сервер. А если хочется именно на Винде работать, сочиняя свою нетленку - нужно человеку в его лес привезти системник, который уже не тянет офисную работу - и поднять на нём LAMP. Соединить их кабелем - и наслаждаться.
Но нет. Это как-то по-пиндосски, да? Будем растить кукурузу в Арктике, зимнюю олимпиаду проводить в субтропиках, воздевывать рис в безводном Крыму... А кто возразит - шутить про Большой театр. Смешно ведь. РЖУНИМАГУ
Неистово плюсую. Зачётный ответ.
Вам осталось перейти на язык падонкафф. Чтоб защитить святое право завинчивать винты ножом, а не отверткой.
Если б у меня была бы такая задача - я бы в мульти-селектном списке выводил бы сотрудников для импорта, и пользователь мог бы выбрать несколько сотрудников - и нажать кнопку "Импортировать". Получал бы ИД_компании (из скрытого поля, например) и массив ID выбранных сотрудников и запускал бы банальный запрос:
UPDATE Сотрудники SET company_id=ИД_компании WHERE id IN (список ID выбранных сотрудников через запятую)
Ну самый простой ответ - вместо поля сделать комбобокс, где выбиралась бы компания, в которой работает сотрудник. Всё ж не ID руками.
На а как более автоматически узнать, в какой компании работает вводимый сотрудник - это Вы должны нам рассказать.
- Слушайте, у меня же... у меня же ботинок пропал. Вы спрашивали - что-нибудь случилось? У меня же ботинок пропал.
- Сэр Генри, ваш башмак найдётся.
- Нет, я думал, может быть, интересно.
- Просто засунули куда-нибудь и всё.
- Нет, вы не подумайте, что мне жалко, джентльмены.
Просто я только вчера их купил на Стрэнде и даже ни разу не успел надеть. Выставил за дверь - и всё...
- Вы выставили за дверь... новые ботинки?
- Нет... Они были просто светло-коричневого цвета. Я не очень люблю этот цвет и поэтому оставил там записку, чтобы......их помазали чёрной ваксой. Ну, чёрные чтобы были.
- Но почему вы не купили чёрные ботинки?
Почему, сэр Генри?
- А что в этом странного? К чему вы клоните?
Что вы хотите этим сказать, доктор Ватсон?
Не понимаю вопроса. По-моему, уже лет 15 как все согласились, что использовать Windows как веб-сервер для работы приложений на php/MySQL - извращение.
Винда - все-таки десктопная система. Чтоб человек работал за компом. В этом качестве - у Винды можно найти преимущества. Но сервер для работы php/MySQL... Да тот же ASP.NET глохнет даже не по причине собственно ASP.NET, а по причине того, что ты в винде или админ, или гуано. Ну и потому, что это одна большая дыра. Юзеру-то это скорее хорошо. Чем легче ему добираться до ресурсов своего компа - тем лучше
В общем, забудь о винде как сервере для своего проЁкта.
Зачем ждать? Скинь сложный запрос сюда, обсудим.
Сложных запросов пока нет. Появятся в феврале.
А пока всё банально. "Ученические" запросы идут. Обсуждать нечего.
Не верю, что после серьезного проекта захочется отказаться от ORM.
История нас рассудит ![]()
Но по сути "новые старые технологии" вполне себе имеют право на жизнь. Те же NoSQL просто отлично работают в качестве временного хранилища в памяти для неструктурированных данных типа сессий, кэша и т.п. Поэтому говорить, что возврат в 70-е это проблема - нельзя. Нового ведь ничего не придумать в области, которая уже устоялась.
Ну может, что-то ранее отвергнутое и работает сегодня отлично - в силу изменившихся обстоятельств. Может, эти временные хранилища и отлично работают (я, правда, не понял, в чём это отличие - но может, еще пойму в ходе поддержки проекта, который использует Redis).
Но когда откровенно провозглашается, что нужно затупить хорошую вещь, чтоб людям было проще изучать - становится совсем грустно.
tmanager выполни серьезный проект на Laravel и полюбишь OOP/ORM.
Не знаю, что Вы понимаете под "серьёзным проектом", но уверен: проект, который я ваяю, Вы не откажетесь считать серьёзным. К лету его планируется открыть для покупателей - похвалюсь. Тогда, надеюсь, моё мнение про ORM будет более веским.
По крайней мере "php artisan make: ..." не вызывает ужаса
)
А вызывал?
Никто не запрещает использовать традиционные для реляционной БД методы.
Так уж никто. Вон hzone за них увольняет
Ну а если серьезно. Я за эти два месяца как-то уже втянулся: пишу, чертыхаясь, эти новомодные конструкции. Разобрался в них - ума там большого не надо. Так что уже ничего личного - просто немного жаль того настроения, с которым я начинал работать в IT. Как-то радостно было: появляются все новые и новые технологии, которые лучше и эффективнее прежних. И радостно было узнавать: что новенького?
А сейчас как-то и не хочется новости читать - не хочется узнавать, что еще решили затупить, где еще решили вернуться в 70-е.
Легко учиться, когда знаешь и веришь, что это путь наверх. К свету от тьмы, если возвышенно выражаться. Мой тренер по киокушину вдвое моложе меня - но я признаю, что он специалист, у которого нужно и полезно учиться.
А когда вдруг решили вернуться к иерархическим базам прошлого - то изучать эти обходы вложенных массивов как-то тоскливо. Обходишь с настроением, воспетым Тиной Тёрнер: I am private dancer, a dancer for money...
Я вот не понял, зачем одному пользователю несколько ролей? Ну это ладно, это разработчику виднее - хотя он сильно осложнил себе жизнь. И не только связью "многие-ко-многим", это-то рутина. А шизофреничностью назначения прав. Менеджеру нельзя, бухгалтеру можно, а если он и менеджер и бухгалтер - ему можно или нельзя?
Не проще сделать НОРМАЛЬНЫЙ набор ролей? Если ты главбух - ну и заходи как главбух, а не скрещивай менеджера с бухгалтером.
Но что совсем удручает - какие-то джсон-массивы. Одним банальным SQL-запросом эта задача решается. Кинул запрос - и вуяля: получил права, сиди теперь разрешай конфликты между ними ![]()
Но нет. Теперь так нельзя. Нельзя писать запрос и получать ответ. Надо получать массивы в три этапа...
Пойду стакан накачу...
Вот и прекрасно. И мне полезный опыт: я рано или поздно заюзал бы dump() и тоже бился бы...
Я поставил Ваш проект себе - и всё повторилось, как Вы описали.
Но вот что я потом сделал:
Изменил контроллер таким образом:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class IndexController extends Controller
{
public function index(Request $request)
{
$result = $request->session()->all();//получаем данные из сессии
$token = $result['_token'];
return view('index',['token'=>$token]); //передаём данные в шаблон
}
}А в view вставил эту переменную
{{ $token }}Так вот: стоит токен как впаянный при всех перезагрузках.
Похоже, функция dump() Вам подгадила. Какой-то странный ЯваСкрипт она добавляет. Который, похоже, что-то открывает через Аякс - и соответственно, открывает новую сессию и получает новый токен.
Если эта информация Вам не помогла - сорри, я свой лимит исчерпал. Ушел работать.
Прости, нет возможности сейчас всё это громоздить себе и искать ошибку. Но на первый взгляд - просто не передаётся идентификатор сессии через cookie.
Не помешает проверить две вещи:
- включены ли в браузере куки
- изучи-ка файл КаталогПроекта/config/session.php
нет ли там чего-то вроде
'expire_on_close' => true,Если эти проверки не дадут результата - я смогу подключиться завтра/послезавтра
В директиву Апача DirectoryIndex добавь index.php
Что бросается в глаза - у селекта нет имени. Город не будет никуда передан.
Ларавел 5.3. работает. Там в файле
\vendor\laravel\framework\src\Illuminate\Encryption\Encrypter.php
нет этой функции.
Получается - перетаскивать проект на 5.3 если не найду менее радикального варианта.
А как-то можно уговорить проект на Ларавеле хоть этот десяток лет поработать?
Зачем падать-то из-за Депрекейтеда?
Забыл написать - я выставил для php
error_reporting = E_ALL & ~E_DEPRECATED
Версия Laravel:
4.2.17
Версия PHP:
7.1.0
Операционная система и её версия:
Windows 10
Вендор и версия сервера БД:
MySQL 5.7.16
Вендор и версия Веб-сервера:
Apache 2.4.23
Медод подключения PHP:
Модуль Апача
Задача, что должно происходить _в целом_, техническое задание:
Сайт должен работать штатно - как работал до переустановки php
Что произошло, текст ошибки, если есть:
ErrorException (E_DEPRECATED)
Function mcrypt_get_iv_size() is deprecated
Чего вы ожидали получить:
Нормальную работу функции mcrypt_get_iv_size()
Варианты/догадки, почему это произошло:
Баг php:
https://bugs.php.net/bug.php?id=73734
* * *
Может, кто знает, как забороть?