15 мар 2025 · 19:06    
{"document": [{"text": [{"type": "string", "attributes": {}, "string": "Нет, эта история вовсе не про альпинизм. Laravel (Ларавел, Ларавель) - один из самых популярных фреймворков с открытым кодом на базе php. Создал Ларавель Тейлор Отвелл (Taylor Otwell) в 2011 году. Название Laravel образовалось путем замены первой буквы от слова Paravel. Cair Paravel (Кэйр Паравел) - замок из мира Нарнии, придуманного Клайвом Льюисом. Это история о том, как я изучал Ларавель и что из этого вышло."}], "attributes": []}, {"text": [{"type": "attachment", "attributes": {"presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/jpeg", "filename": "title_main.jpg", "filesize": 82225, "height": 500, "pic_id": 969946, "url": "http://storage.yandexcloud.net/pabliko.files/article_cloud_image/2025/03/15/title_main.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YCAJEsyjwo6hiq7G6SgeBEL-l%2F20250315%2Fru-central1%2Fs3%2Faws4_request&X-Amz-Date=20250315T160232Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=5939dcb3750c0cf7a70f79c07a960c223d1f1ab2ae6c11a116cdf2b1c10c5193", "width": 1000}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Сподвигли меня на изучение Ларавели утверждения одного авторитета в области разработки, что Ларовель перспективнее и интереснее, чем YII2, да и, вообще, чем любой фреймворк на PHP."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Мне стало очень любопытно. Мною овладел азарт, и даже искушение. А лучший способ избавиться от искушения - следовать ему."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Я решил, что лучший способ изучения - запустить какой-нибудь небольшой проект на Ларавели с возможностью свободного доступа для всех желающих. В процессе создания нового ресурса воленс-ноленс придется овладеть каким-то минимумом знаний. Таким образом, будут убиты все зайцы. Произойдет и овладение теорией вопроса, и практическая реализация будет «налицо»."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Также я решил по итогам путешествия сделать вот эти путевые заметки, которые вы сейчас читаете. Если вы разработчик-новичок (как и я в Ларавеле), то возможно они будут для вас интересными и полезными."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Начну я с описания своего «дипломного проекта», который получился в итоге первичного изучения Ларавели."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": ""}, {"type": "string", "attributes": {"href": "https://ch.inumo.ru/"}, "string": "https: //ch. inumo. ru/"}, {"type": "string", "attributes": {}, "string": " - Учебный проект, выполненный с целью изучения фреймворка Ларавель (Laravel). Главная страница этого сайта."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": ""}, {"type": "string", "attributes": {"href": "https://wpvi.ru/pages/story/00097/"}, "string": "https: //wpvi. ru/pages/story/00097/"}, {"type": "string", "attributes": {}, "string": " - дорожная карта, пошаговая шпаргалка."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Теперь я хочу рассказать, как я знакомился с Ларавель, что мне понравилось и что мне категорически не понравилось."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Первичное обучение я прошел учебно-тренировочном лагере Ларавели вот по этому поддомену: "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "bootcamp (.)laravel (.)com"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Это обучение мне очень понравилось. Все четко, все по сути, все пошагово. В результате на выходе получился сайт (см. выше)."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Какое же у меня было разочарование, когда я зашел на этот учебный лагерь через какое-то время и обнаружил, что никакого учебного лагеря больше нет!"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "А ссылка выше теперь редиректит сюда:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "laravel (.)com/docs/12. x"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Это мне очень сильно не понравилось! Я был в шоке. Разве можно так делать? Если по каким-то причинам вы закрыли свой учебный проект, то разместите какое-то сообщение по данному адресу. А то как-то молчком, без объяснения причин. Разве можно так делать?"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Но нет худа без добра. Пытаясь найти причины и последствия ликвидации этого учебного лагеря, я за информационной помощью обратился вот на этот ресурс:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "laracasts (.)com - коллекция курсов, экзаменов по Laravel и PHP, а также сообщество, которому нет равных."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Решил я проверить это общество на «вшивость» и задал простой вопрос, «куда делся этот учебный лагерь?» "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Мне сильно понравилось, что мой вопрос был опубликован в отдельной ветке и на него поступили внятные ответы по сути вопроса:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "laracasts (.)com/discuss/channels/laravel/subdomain-bootcamplaravelcom-doesnt-work-20250302-why "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Этот вопрос и ответы в подробном изложении."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Подробности и актуальную информации по этому вопросу вы можете прочитать по ссылке выше, а коротко суть такая."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Ликвидация учебного лагеря связана с переходом Ларавеля с версии 11 на версию 12. Возможно, учебный лагерь возродится через некоторое время с учетом специфики новой версии. Но это неточно."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Лагерь в архиве - Все материалы учебного лагеря сохранились в специальном сайте-архивариусе "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "web (.)archive (.)org/web/20250206182837/https: //bootcamp (.)laravel (.)com"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Надо сказать, что последний пункт меня немного удивил. Не является ли такой процесс «коммунизации» учебных материалов банальным нарушением авторских прав?"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Впрочем, не важно. Работает, и ладно."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Кстати, я на всякий случай, еще раз прошелся от начала до конца по учебному курсу в плане создания курсового проекта. Теперь автоматом ставится версия 12 (она сейчас актуальная). Проект работает, но есть незначительные косяки, связанные со стилями. Но это пустяки. В целом все работает. А стили всегда можно подправить."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Давайте, пройдемся по датам. Я пишу эти строки в марте 2025. Сейчас на Ларавеле переход с версии 11 на версию 12. А когда вы читаете этот текст, все может кардинально измениться. Может, актуальная версия будет 13 или 14, может учебный лагерь возобновит работу. Все, что угодно или негодно может случиться."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Так или иначе, мы сделали пока главное. Мы поймали дух Ларавеля. Тут постоянно все меняется, идет какая-та движуха. Тут много народа, который поможет новичку (как я или вы) консультацией бесплатно или за деньги."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Есть ли для вас вообще смысл изучать Ларавель?"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Думаю, да. Перспективы Ларавели и ваша будущая зарплата пока выглядят достаточно оптимистично."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "И самое главное. Изучение Ларавели очень увлекательный процесс."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Самостоятельная работа"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Работа, которая заключается в повторении указаний тренера относительно простая, но не такая интересная. "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Хотя для новичка это то, что надо. "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "После того, как прошлись по шагам учебного центра, самое время сделать что-то свое, без указки тренера."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Ведь намного полезнее придумать задание самому себе и попробовать его выполнить."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Вот такие задания я придумал для себя. "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Чередование фоновой окраски сообщений"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Смысл этого задания в том, чтобы отделить цветом одно сообщение от другого."}], "attributes": []}, {"text": [{"type": "attachment", "attributes": {"presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "pic002.png", "filesize": 24050, "height": 577, "pic_id": 969947, "url": "http://storage.yandexcloud.net/pabliko.files/article_cloud_image/2025/03/15/pic002.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YCAJEsyjwo6hiq7G6SgeBEL-l%2F20250315%2Fru-central1%2Fs3%2Faws4_request&X-Amz-Date=20250315T160321Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=5118cbd3139ccb7941d52087b8a5f273c8608d23c21e053a92467aae021311e8", "width": 680}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Достигается такое чередование следующим способом."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "resources/views/chirps/index. blade. php"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "@foreach ($chirps as $chirp) \n @if ($loop->even) \n <div class= «p-6 flex space-x-2» style= «background-color: #FFFFF0;» >\n @else\n <div class= «p-6 flex space-x-2» style= «background-color: #F0FFFF;» >\n @endif"}], "attributes": ["quote"]}, {"text": [{"type": "string", "attributes": {}, "string": "Задача решается на уровне ядра Лезвия (Blade). Имеется встроенный объект $loop (официально называется переменная), а у него есть свойство even, которое мы и используем в данном случае."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Отображение сообщения в форматах TEXT и HTML "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Здесь мы рассмотрим две идеи."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "С одной стороны, нам хочется дать возможность пользователю печатать свои сообщения с возможностью делать активные ссылки, разукрашивать различные куски текста в разные цвета, отображать картинки и т. п."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Теория вопроса в рамках опять же Лезвия (Blade) следующая."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "{{ $chirp->message }} - сообщение отображается в текстовом формате"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "{!! $chirp->message!! } - сообщение отображается в HTML формате"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Тут же приходит мысль, что было бы неплохо одним пользователям, которым мы доверяем безусловно, разрешить HTML формат. А остальные пользователи пусть работают в текстовом формате. Если они попытаются использовать какие-то теги HTML, то все эти теги будут отображаться как текст. Таким образом мы обеспечим требуемый уровень безопасности."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "resources/views/chirps/index. blade. php"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "@if ($chirp->user->id==1) \n <p class= «mt-4 text-lg text-gray-900» >{!! $chirp->message!! }</p>\n@else\n <p class= «mt-4 text-lg text-gray-900» >{{ $chirp->message }}</p>\n@endif"}], "attributes": ["quote"]}, {"text": [{"type": "string", "attributes": {}, "string": "Разумеется в выражении @if можно придумать и более сложную логику отбора."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Вот и все, что я хотел бы рассказать вам о Ларавели."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Желаю вам успеха, высокого заработка и качественного кода!"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "..."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Первоисточник: "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": ""}, {"type": "string", "attributes": {"href": "https://wpvi.ru/pages/story/00097/"}, "string": "https: //wpvi. ru/pages/story/00097/"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "==="}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Источники, упомянутые в произведении: "}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Чинумо - Учебный проект, выполненный с целью изучения фреймворка Ларавель (Laravel)"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": ""}, {"type": "string", "attributes": {"href": "https://ch.inumo.ru/"}, "string": "https: //ch. inumo. ru/"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "==="}], "attributes": []}], "selectedRange": [41, 137]}
Комментарии 0