За последние 24 часа нас посетили 19518 программистов и 1648 роботов. Сейчас ищут 1260 программистов ...

Namespace или как разобраться в laravel?

Тема в разделе "Laravel", создана пользователем Alex5646, 1 янв 2016.

  1. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.579
    Симпатии:
    1.759
    Может разные версии. Покажите composer.lock. Только вы код один и тот же привели. не, менять нельзя. Это задача composer-а, туда что-то писать или что-то оттуда удалять. Иначе при composer update все ваши изменения полетят
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    менять можно. просто нужно разместить измененный файл вне дерева, которое автоматически обновляется композером.
     
  3. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Ваше сообщение содержит слишком много знаков: 164833. Максимальное разрешённое количество: 60000. Какую часть composer.lock надо, весь не могу скинуть.
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    всегда можно воспользоваться сторонними сервисами для размещения больших исходников. pastebin тот же
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.579
    Симпатии:
    1.759
    Секцию require. Ganzal, согласен. Просто я не в курсе, как потом заставить Laravel использовать изменённый файл вместо родного. Для Yii в курсе, но мы не о нём.
    ТС, вот часть одного из моего проекта
    Код (PHP):
    1. {
    2.             "name": "yiisoft/yii2",
    3.             "version": "2.0.1",
    4.             "source": {
    5.                 "type": "git",
    6.                 "url": "https://github.com/yiisoft/yii2-framework.git",
    7.                 "reference": "7ed175b4b71ac96eaf86aadc322186ecdc58498d"
    8.             },
    9.             "dist": {
    10.                 "type": "zip",
    11.                 "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/7ed175b4b71ac96eaf86aadc322186ecdc58498d",
    12.                 "reference": "7ed175b4b71ac96eaf86aadc322186ecdc58498d",
    13.                 "shasum": ""
    14.             },
    15.             "require": {
    16.                 "bower-asset/jquery": "2.1.*@stable | 1.11.*@stable",
    17.                 "bower-asset/jquery.inputmask": "3.1.*",
    18.                 "bower-asset/punycode": "1.3.*",
    19.                 "bower-asset/yii2-pjax": ">=2.0.1",
    20.                 "cebe/markdown": "~1.0.0",
    21.                 "ext-mbstring": "*",
    22.                 "ezyang/htmlpurifier": "4.6.*",
    23.                 "lib-pcre": "*",
    24.                 "php": ">=5.4.0",
    25.                 "yiisoft/yii2-composer": "*"
    26.             },
    27.             "bin": [
    28.                 "yii"
    29.             ],
    30.             "type": "library",
    31.             "extra": {
    32.                 "branch-alias": {
    33.                     "dev-master": "2.0.x-dev"
    34.                 }
    35.             },
    36.             "autoload": {
    37.                 "psr-4": {
    38.                     "yii\\": ""
    39.                 }
    40.             },
    41.             "notification-url": "https://packagist.org/downloads/",
    42.             "license": [
    43.                 "BSD-3-Clause"
    44.             ],
    45.             "authors": [
    46.                 {
    47.                     "name": "Qiang Xue",
    48.                     "email": "qiang.xue@gmail.com",
    49.                     "homepage": "http://www.yiiframework.com/",
    50.                     "role": "Founder and project lead"
    51.                 },
    52.                 {
    53.                     "name": "Alexander Makarov",
    54.                     "email": "sam@rmcreative.ru",
    55.                     "homepage": "http://rmcreative.ru/",
    56.                     "role": "Core framework development"
    57.                 },
    58.                 {
    59.                     "name": "Maurizio Domba",
    60.                     "homepage": "http://mdomba.info/",
    61.                     "role": "Core framework development"
    62.                 },
    63.                 {
    64.                     "name": "Carsten Brandt",
    65.                     "email": "mail@cebe.cc",
    66.                     "homepage": "http://cebe.cc/",
    67.                     "role": "Core framework development"
    68.                 },
    69.                 {
    70.                     "name": "Timur Ruziev",
    71.                     "email": "resurtm@gmail.com",
    72.                     "homepage": "http://resurtm.com/",
    73.                     "role": "Core framework development"
    74.                 },
    75.                 {
    76.                     "name": "Paul Klimov",
    77.                     "email": "klimov.paul@gmail.com",
    78.                     "role": "Core framework development"
    79.                 }
    80.             ],
    81.             "description": "Yii PHP Framework Version 2",
    82.             "homepage": "http://www.yiiframework.com/",
    83.             "keywords": [
    84.                 "framework",
    85.                 "yii2"
    86.             ],
    87.             "time": "2014-12-07 16:42:41"
    88.         },
    89.  
    Найдите похожую секцию, но про laravel у вас, посмотрите версию. Может у вас не последняя просто. Чего точно не следует делать, так это менять руками один файл из github-а от новой версии на старую :))) Это будет примерно тоже самое, что взять linux-программу версии 1.0, и поменять в ней один .so файл от версии 2.0.
     
  6. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Не подумал http://pastebin.com/8bCB7WFV
     
  7. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    добавляешь в свой композер.жсон секцию автолоада где указываешь нужный префикс неймспейска и указываешь корень этого префикса в своей файловой системе. при генерации автолоадера твои правила автолоада будут идти перед теми правилами которые композер стандартно разместит для каждого пакета. таким образом все классы размещенные в твоем дереве будут переопределять одноименные классы в каталоге вендор.
     
  8. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Ребят я только что доделал регистрацию, подскажите какие нибудь пакеты для организации прав пользователей, было бы не плохо ещё что бы были личные сообщения и друзья. И так на потом какой нибудь пакет для организации древовидных структур в БД(комментарии, категории)
     
  9. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.579
    Симпатии:
    1.759
    Alex5646, мы же с неймспейсами разобрались. Заводите отдельную тему на новый вопрос, те кто используют Laravel, подскажут
     
  10. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Вроде как, из всего выше я понял что логики не какой нету и надо юзать autoload что бы разобраться откуда идут пути.
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.579
    Симпатии:
    1.759
    viewtopic.php?f=44&t=56036#p450275 - вся логика тут. Из autoload можно посмотреть корневой namespace, в случае если активно используется composer. А дальше всё очень точно идёт. Каждый namespace - папка, каждый класс (интерфейс, трейт) - файл.
     
  12. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Прейдётся активно использовать, не всё ведь самому писать.