Autor Wątek: Ice 1.0.0  (Przeczytany 4737 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Ice 1.0.0
« dnia: Listopad 18, 2014, 14:35:59 »
Ice framework w wersji 1.0.0-dev jest już dostępny i gotowy do testów. Prosta strona projektu www.iceframework.org napisana w ice.


Repozytorium GitHub ice/framework.

Aby skompilować framework należy:
Kod: sh [Zaznacz]

git clone https://github.com/ice/framework.git
cd framework/ext
./install
phpenv config-add ../tests/ci/ice.ini
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #1 dnia: Styczeń 12, 2015, 22:07:34 »
Trochę się ustabilizowało i wersja 1.0.0-alpha1 została wydana.
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #2 dnia: Styczeń 30, 2015, 17:00:29 »
Wersja 1.0.0-beta1 jest już dostępna. Listę zmian można podglądnąć na github, czy build.opensuse.org. Postaram się dodać wkrótce plik CHANGELOG. Jest też IDE do podpowiadania. Wkrótce dodam też API w html.
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me

Offline falcon

  • Młody
  • **
  • Wiadomości: 177
  • Karma: +0/-0
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #3 dnia: Styczeń 30, 2015, 20:15:53 »
Wgryzłem się w Ice'a i powiem, że jak podszkolę się w samym phalconie zacznę to testować, na razie nie ten level ;-)
// Pisz wiadomości zawsze tak, abyś po kilku latach, zapominając, że to Twój nick, czytając je, stwierdził: 'kurde, spoko koleś'

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #4 dnia: Styczeń 31, 2015, 09:36:55 »
Pewnie głównie ze względu na brak dokumentacji :D bo frameworki podobne, no i ice jest prosty ;)

Przeanalizowanie przykładowych aplikacji w tej kolejności: hello, website, base może trochę pomóc:
hello to aplikacja jednomodułowa z widokami phtml,
website to dwumodułowa, frontend (widoki sleet) i "dokumnetacja" (markdown),
base to multimodułowa front, backend i shell, w której jest dostęp do bazy i zaimplementowane logowanie.
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #5 dnia: Luty 26, 2015, 13:22:25 »
Wersja 1.0.0 wydana! 8)

Dodałem też proste api, które to tworzy na razie całą dokumentację: doc.iceframework.org. Niektóre metody mają przykładowe użycie, nie jest tego dużo, ale może wkrótce pojawi się więcej ;) Dzięki api w przypadku błędów można będzie podglądać kod i samemu dedukować czemu nie działa, dla przykładu Model.
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #6 dnia: Marzec 02, 2015, 16:29:31 »
Wersja 1.0.1 wydana. Dodałem w niej możliwość tłumaczeń w danym kontekście:

W pliku z tłumaczeniami dajemy np.
':person commented on post' => [
    'other' => ':person skomentował/a wpis',
    'female' => ':person skomentowała wpis',
    'male' => ':person skomentował wpis'
],
'%d post' => [
    'one' => '%d wpis',
    'few' => '%d wpisy',
    'other' => '%d wpisów',
],

A następnie np.
echo __(':person commented on post', [':person' => $user->fullname], $user->sex);
i w zależności od płci użytkownika zostanie wyświetlone:
Anna skomentowała wpis
Jan skomentował wpis
a jeśli ktoś nie ma podane to
User skomentował/a wpis

jeśli jako 3 element do tłumaczeń podamy liczbę, to zostanie dobrana odpowiednia liczba mnoga:

echo __('%d post', [1], 1);
echo __('%d post', [22], 22);
echo __('%d post', [25], 25);

1 wpis
22 wpisy
25 wpisów
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #7 dnia: Marzec 05, 2015, 10:44:32 »
W wersji 1.0.2 w FastRoute jest teraz możliwość dodawania tej samej trasy dla wielu metod HTTP, np. dla GET i POST
Kod: php [Zaznacz]

return [
            // Static routes
            [['GET', 'POST'], '/contact', ['controller' => 'static', 'action' => 'contact']],
            // Routes for default module
            [['GET', 'POST'], '/{controller:[a-z]+}/{action:[a-z]+}/{id:\d+}/{param}'],
            [['GET', 'POST'], '/{controller:[a-z]+}/{action:[a-z]+}/{id:\d+}'],
            [['GET', 'POST'], '/{controller:[a-z]+}/{action:[a-z]+}/{param}'],
            [['GET', 'POST'], '/{controller:[a-z]+}/{action:[a-z]+[/]?}'],
            [['GET', 'POST'], '/{controller:[a-z]+}/{id:\d+}'],
            [['GET', 'POST'], '/{controller:[a-z]+[/]?}'],
            [['GET', 'POST'], ''],
];
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #8 dnia: Lipiec 24, 2015, 08:36:18 »
Jeśli by ktoś potrzebował, to różnice w wersjach można zobaczyć w pakiecie dla openSUSE php5-ice.changes. Przy okazji info, że najnowsza wersja to 1.0.18
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me

Offline mruz

  • Administrator
  • *****
  • Wiadomości: 453
  • Karma: +15/-0
  • Płeć: Mężczyzna
    • Zobacz profil
Odp: Ice 1.0.0
« Odpowiedź #9 dnia: Lipiec 30, 2015, 13:52:45 »
W wersji 1.0.19 dodano klasę Assets do zarządzania css/js:
// Set the assets service
        $this->di->set('assets', function () {
            $assets = new Assets();
            $assets->setOptions([
                'source' => __ROOT__ . '/public/',
                'minify' => Assets::IF_CHANGE
            ]);
            return $assets;
        });

A następnie:
// Add css and js to assets collection
        $this->assets->add('css/bootstrap.min.css', '3.3.4');
        $this->assets->add('css/font-awesome.min.css', '4.3.0');
        $this->assets->add('css/app.css', '0.0.1');
        $this->assets->addCss([
            'http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300,600&subset=latin,latin-ext',
            'local' => false
        ]);

        $this->assets->add('js/jquery.min.js', '1.11.2');
        $this->assets->add('js/bootstrap.min.js', '3.3.4');
        $this->assets->add('js/plugins/icheck.js', '1.0.2');
        $this->assets->addJs([
            'content' => '$(".i-check").iCheck({
                checkboxClass: "i-check"
            });'
        ]);

Nieskompresowane lokalne pliki zostaną skompresowane, zostanie podmieniony uri i dodana wersja, np.
<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css?v=3.3.4">
<link rel="stylesheet" type="text/css" href="/css/font-awesome.min.css?v=4.3.0">
<link rel="stylesheet" type="text/css" href="/css/app.min.css?v=0.0.1">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300,600&amp;subset=latin,latin-ext">
Wesprzyj moją pracę i kup mi czekoladę ;) Link do dotacji na mruz.me