Ostatnio dostałem projekt w #symfony2, w którym encje wyglądają tak: HomePage, AboutUsPage, ContactUsPage, PricingPage itp.
Co za tym idzie w bazie danych jest kilka wielokolumnowych tabel zawierających po jednym rekordzie.
Czy to normalny i szanowany sposób tworzenia aplikacji w #symfony? #php
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@DiKey: Dobra, więc jeśli faktycznie pytasz jak „zrobić to dobrze”, to tak jak pisałem wcześniej, Symfony nie ma (aż takiego) znaczenia: Twoim zadaniem z dziedziny architektury oprogramowania jest:

* zidentyfikować potrzeby klienta
* opisać te potrzeby za pomocą kodu (model, use case'y)
* dorobić szczegóły techniczne jak persystencja czy UI (widoki, routing, etc – to „tylko” warstwa
  • Odpowiedz
stdClass Object
(
[position] => user
[citizen] => stdClass Object
(
[id] => 1
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Szczególnie wydając bundle nie warto robić takiej pokręconej logiki jak tworzenie własnych komend wywołujących wbudowane ;)


@kiler129: I vice-versa, wywołując cache:clear spodziewasz się, że usuniesz tylko cache z symfony2. W dodatkowych bundle'ach jest po prostu oddzielna komenda do czyszczenia cache'u tworzonego tylko przez tego bundle'a.
  • Odpowiedz
@kiler129: No to IMHO:

1. Na pewno zrób do tego dedykowane polecenie.
2. Dodatkowo możesz się podpiąć pod Symfonowe.

Ad2: tak jak już znalazłeś, podpiąć się
  • Odpowiedz
#php
Jak się zabrać za przekazywanie danych w czasie rzeczywistym miedzy kilkoma użytkownikami (3-8) na stronie www?
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#symfony2 #php #pytanie
Jak zrobić warunkową walidację dla formularzy nie reprezentujących klasy?
Np mam formularz i jakieś pole jest wymagane tylko wtedy gdy inne pole jest zaznaczone.
Mogę dodać constraint do pola formularza ale wtedy nie wiem jak pominąć constraint gdy nie zachodzi warunek walidacji pola...
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nosz kurde :<
Login i Rejestracja zrobiona poprawnie.
Probuje teraz zrobic stronki do zmieniania danych uzytkownika i krótkie formularze.
Przy wywolaniu akcji kontrollera wyskakuje mi błąd
_/*PHP Fatal Error – yii\base\ErrorException

Class
  • 26
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jakiego polecacie frameworka do szybkiego zbudowania prostej aplikacji? Nie używałem nigdy frameworków, kiedyś sporo pisałem brzydkiego kodu w php, więc samą składnię i elementy języka znam; trochę o obiektówce czytałem i mniej więcej na sucho kumam o co chodzi. Potrzebuję czegoś naprawdę prostego do wykonania strony z logowaniem, rejestracją, dodawaniem, edycją i usuwaniem rekordów - sporo formularzy, praktycznie wszystko na bazie danych; do tego chciałbym w prosty sposób móc tworzyć kolejne wersje
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@g500s: Do szybkiego zbudowania appki definitywnie Laravel.
Jeśli chcesz zrobić coś większego - Laravel lub Symfony
Jeśli masz zamiar robić coś ekstremalnie małego - Slim

Hejt na Laravela za 3....2....1.... A ja płaczę zarabiając na nim hajsy i pisząc dobry kod :P
  • Odpowiedz
@JoeBlade: olej CURLa, używaj jakiejś ogarniętej biblioteki typu Guzzle (co prawda pod spodem używa curl, ale ma wygodne API). Może Ci się uda, ale apki raczej tak nie zbudujesz, bo na bank mają jakieś zabezpieczenia. Możliwe, że będziesz musiał trochę ich oszukać i udawać tym Guzzlem jakąś przeglądarkę.
  • Odpowiedz
@DanioPL: o widzę fajny wrapper do CURL`a o ile tak to można nazwać. Przetestuję go dzisiaj. Na razie do czego doszedłem przy Twitterze, to wysyłanie samych twittów, ale bez fotek. Głównie chodzi mi tutaj o całkowite pominięcie ekranu autoryzacji twittera i zastąpienie go własnym w aplikacji desktopowej.
  • Odpowiedz
Jaki polecacie darmowy edytor do php/html ? Całość chciałbym używać w połączeniu XAMPP. Dobrze jakby taki edytor miał dobry debugger(o ile coś takiego istnieje) oraz możliwość wysyłania POST\GET i tworzenia profili dla takich rzeczy.

#php #html #programowanie
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

tak się zastanwiam - korzystać z enumów ? czy może jednak oddzielna tabelka(i model) i relacje ? w tym przypadku chodzi o statusy zamówień(np w sklepie załóżmy)
#php #mysql
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak w #prestashop wyświetlić w tabeli (HelperList) zdjęcie produktu (jak tutaj)?
W dokuemntacji Link podają tylko

['image'] => 's', // If set, an image will be displayed in this field located in the '/img' subfolder defined as value here (optional).


w całym kodzie Presty znalazłem tylko jedno zastosowanie tego atrybutu, ale nie mogę rozkminić jak przekazują ID produktu ( ͡°
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

No $cover to value z bazy danych, jeśli tablica ma klucz "cover" to znaczy, że $cover szuka a.cover z bazy danych, jeśli więc potrzebujesz idproduktu by pobrać image wg produktu to możesz sobie zmodyfikować domyślny select brany w kontrolerze robiąc np. tak:
$this->select .= 'a.id_product AS mythumbnail, ';

wtedy dla tablicy o kluczu "mythubmnail" wartość pierwszego parametru dla funkcji z callback to wartość z bazy, $row to zawsze cały
  • Odpowiedz
jak napisać zeby ta zaznaczona linijka wyswietlala sie tylko jako guest, jestem swierzak w PHP, pisze projekt i dopiero ucze się składni, zdaje sobie sprawę ze to kwestia jednej instrukcji warunkowej, tylko jak ona składniowo ma wygladac.

probowałem:
Yii::$app->user->isGuest ?
['label' => 'Register', 'url' => ['/site/register']] :
// ale co tutaj
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ExtendedConsciousness: no nie :) Operator trójargumentowy (cond ? ifTrue : ifFalse) wymusza na tobie, żeby zawsze wyszła z niego jakaś wartość (a w językach ściśle typowanych oraz w dobrze napsianym kodzie w dowolnym języku - wartość tego samego typu). Więc jeśli potrzebujesz, żeby raz tam jakiś element był, a innym razem żeby go w ogóle nie było - przenieś budowanie tej tablicy do funkcji i tam rób co ci się
  • Odpowiedz
proboje zrobic logowanie w yii2 i mam pewien problem a mianowicie w linijce, jestem nowy w php jak i w yii2

_return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0);

php wyswietla mi komunikat

,,Expected
  • 37
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ExtendedConsciousness: właśnie tak jest w advanced :) zobacz tutaj https://github.com/yiisoft/yii2-app-advanced/blob/master/common/models/User.php W sumie jak dla mnie strzelili sobie trochę w stopę tym wydaniem podstaw projektu w wersjach basic i advanced. W basic brakuje wielu potrzebnych rzeczy, a advanced ma ich aż za dużo. Oczywiście każdy domorosły programista Yii od razu zabiera się za advanced, a potem wypisują kwiatki na forum...
  • Odpowiedz
@Max_Koluszky: ale po co framework miałby filtrować input z adresu w tym miejscu? Nie znam laravela, ale jeśli stworzyłeś sobie w routingu ścieżkę do której pasuje ten html z obrazka, to co w tym dziwnego, że dostajesz to w takiej postaci jako parametr w kontrolerze?

Problemem jest to, że nie wyescapowałeś tego w widoku, a tutaj dokumentacja mówi tak:

Of course, all user supplied data should be escaped or purified. To escape
  • Odpowiedz
@Max_Koluszky: filtrowanie !== escape'owanie

Escape'ujesz zawsze na wyjściu – bo escape'owanie zależne jest od kontekstu – inaczej będziesz zabezpieczał dla HTML, inaczej dla XMLa, inaczej dla URLa, inaczej dla JSONa, inaczej dla YAMLa, inaczej dla pliku INI, inaczej dla SQLa, itp, itd – nie ma „uniwersalnej” metody escape'owania, więc nie może ono iść na wejściu.

Filtrujesz tylko jeśli chcesz się pozbyć śmieci (ale nie ze względów bezpieczeństwa, bo o to
  • Odpowiedz
Mircy, robię stronę która do tej pory stała na #ezpublish 4.0.1 - ma już blisko 10lat.
Strona ma bardzo dużo treści/produktów - stawiam to na innym CMS i aby ręcznie nie klikać piszę sobie import tych treści.
Problem w tym że w ezpublish cześć treści zapisywana jest w formacie #xml - i teraz chciałbym je przed importem zmienić na html.
W związku z tym zna ktoś jakieś rozwiązanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach