Персонализирани среди на FuelPHP

Премествам съществуващо FuelPHP приложение в нова среда и достигнах точката, в която наистина мога да добавя друга среда извън стандартните 4 (т.е. разработка, тестване, етап, производство), които вече са в употреба другаде.

Има ли някакъв разумно лесен начин за добавяне на допълнителна среда към FuelPHP? Ако има, ще се радвам на насоки как да го направя.


person Nick F    schedule 05.04.2013    source източник


Отговори (1)


Да, възможно е, но не е документиран никъде, ето хакнатия подход, който открих, след като разгледах публикацията ви

По-долу са стъпките за създаване на персонализирана среда в приложението FUel php

например тогава трябва да наречете новата си среда "експеримент".

1 . Създайте папка, наречена експеримент, в директорията за гориво/приложение/конфигурация

2 . създайте файл db.php в директорията за гориво/приложение/конфиг/експеримент със съдържание по-долу, можете да добавите другата си конфигурация, но по-долу са конфигурациите на DB по подразбиране (променете ги според вашата платформа), също така други файлове за мигриране могат да бъдат копирани в тази папка от други заобикаляща среда

return array(
    'default' => array(
        'connection'  => array(
            'dsn'        => 'mysql:host=localhost;dbname=yourappdatabasename',
            'username'   => 'yourDBuname',
            'password'   =>  'yourDBpassword',
        ),
    ),
);

3 . След това променете името на env във файла Fuel/app/bootstrap.php

Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::EXPERIMENT);

4 . След това отворете файла Fuel/core/classes/Fuel.php и добавете нова константа към Fuel клас като по-долу в горната част на класа, мисля, че можете да намерите и други среди, декларирани там.

const EXPERIMENT = 'experiment';

И това е всичко, което създадохте нова персонализирана среда в приложението Fuel php,

ЗАБЕЛЕЖКА: - този подход е хакнат подход, който не е официално документиран никъде

Публикувайте тук, като се надявате, че може да помогне на вас или на други с подобни изисквания

РЕДАКТИРАНЕ: - Това е за версии > 1.5

Стъпка 1 и стъпка 2 са еднакви

3 . (Ако приемем, че използвате Apache) задайте сървърната променлива FUEL_ENV на вашето ново име на среда, като добавите следния ред към вашата конфигурация на VirtualHost:

SetEnv FUEL_ENV experiment

Това е всичко (все пак на Apache). Няма нужда да добавяте const към core/fuel.php (според предварително дефинираните среди). Това е ненужно и само ще затрудни надграждането на ядрото на Fuel.

person Aravind.HU    schedule 05.04.2013
comment
Няма причина за хакване. FuelPHP поддържа неограничен брой среди от v1.5. Просто изберете всяка струна, която харесвате. Константите в класа гориво са там само за лесно сравнение и се използват вътрешно в рамката. Те не са необходими никъде, за да работи персонализирана среда. В стъпка 3 просто използвайте „експеримент“ вместо константата. - person WanWizard; 11.04.2013
comment
и п.с. Никога не променяйте кода в ядрото, ще имате кошмар в ръцете си, когато трябва да надстроите до нова версия. Ако смятате, че ТРЯБВА да промените нещо, заменете основния клас във вашето приложение и направете промените си там. - person WanWizard; 11.04.2013
comment
@WanWizard Моля, разберете публикацията тук, човекът тук вече използва всичките четири дефинирани среди и трябва да добави още една заедно със съществуващото нещо, - person Aravind.HU; 11.04.2013
comment
@WanWizard Тъй като вие сте ръководителят на проекта на проекта FuelPHp, защо не публикувате отговор тук, с подходящи стъпки, това наистина помага на другите, а също и ако просто избера низ от моето желание и го задам на 3-та стъпка, това извежда грешка , И аз използвам версия по-малка от 1.5 и също човек тук не е посочил нищо, свързано с версията на FuelPHP. - person Aravind.HU; 11.04.2013
comment
Благодаря и на двама ви и съжалявам, че отговарям бавно - чаках възможност да тествам това. @aravind.udayashankara: WanWizard е правилен, оказва се, че можете да използвате всяко име на среда. Стъпката, която пропускате, е да зададете „FUEL_ENV“ във вашия VirtualHost. Ако нямате нищо против, ще редактирам отговора ви, за да премахна ненужните стъпки, и след това ще го маркирам като приет. - person Nick F; 01.05.2013
comment
@Nick F Разбира се, но просто споменете версията, която използвате, решението, което публикувах, е за по-малко от 1.5 - person Aravind.HU; 01.05.2013
comment
@NickF Аз самият редактирах публикацията, защото вашата редакция правеше много промени в оригиналната публикация и също беше отхвърлена от модераторите. - person Aravind.HU; 01.05.2013