Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

4 Stron V   1 2 3 > » 

lukaskolista
Napisane: 25.01.2017, 10:15:31





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Kolejność zapisu tak na prawdę nie ma znaczenia. Przy odczycie po prostu je posortuj "SELECT * FROM ... ORDER BY table.column {rosnąco/malejąco}"
  Forum: Przedszkole · Podgląd postu: #1209240 · Odpowiedzi: 5 · Wyświetleń: 633

lukaskolista
Napisane: 16.01.2017, 08:24:57





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Możesz użyć http://wkhtmltopdf.org/, dosyć szybkie narzędzie, generowałem tym pliki PDF po 50 000 stron i przy odpowiedniej ilości zasobów i konfiguracji dawało radę, gdzie biblioteki w PHP nie dają rady już przy kilkuset stronach.
  Forum: PHP · Podgląd postu: #1208490 · Odpowiedzi: 2 · Wyświetleń: 404

lukaskolista
Napisane: 10.01.2017, 08:45:35





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

A czemu kalkulatory same w sobie nie mogą być usługami zdefiniowanymi w konfiguracji kontenera?

Cytat
CalculatorService posiada metodę compute() która poprzez fabrykę tworzy klasy kalkulatorów dla kolejnych kryteriów i po kolei je uruchamia.
Tą samą fabryką tworzysz obiekty różnych klas? Zły pomysł.

Cytat
Zrobić w interfejsie metodę setDictionary albo wstrzykiwać jako zależnośc konstruktora?
setDictionary to kiepski pomysł, bo zmuszasz klasy implementujące interface do posiadania słowników (inaczej złamiesz zasadę interface segregation).
  Forum: Frameworki · Podgląd postu: #1207990 · Odpowiedzi: 2 · Wyświetleń: 529

lukaskolista
Napisane: 3.01.2017, 13:01:51





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Try/catch używasz wtedy, kiedy chcesz wyłapać wyjątek i go jakoś obsłużyć. Są wyjątki przez które nie trzeba wyświetlać strony błędu, bo można np. pójść alternatywną ścieżką lub ponowić próbę. Listner służy raczej do łapania niewyłapanych wyjątków, które obsługuje się w jednolity sposób jak strona błędów.

Generalnie każde niepowodzenie powinno spowodować rzucenie wyjątku, a nawet w prostych aplikacjach jest dużo rzeczy, które pójdą nie tak i teraz to Twoja decyzja, co chcesz z nimi zrobić.
  Forum: Frameworki · Podgląd postu: #1207619 · Odpowiedzi: 3 · Wyświetleń: 536

lukaskolista
Napisane: 1.01.2017, 12:53:13





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

  1. <?php
  2.  
  3. foreach ($example as $ex => $val) {
  4. foreach ($val as $key => $value) {
  5. echo $key;
  6. echo "<br />";
  7. foreach ($value as $k => $v) {
  8. echo $v;
  9. echo "<br />";
  10. }
  11. }
  12. }

Ponazywan zmienne inaczej, bo ich nazwy nic nie mówią.
  Forum: Przedszkole · Podgląd postu: #1207551 · Odpowiedzi: 3 · Wyświetleń: 505

lukaskolista
Napisane: 25.12.2016, 12:28:58





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

To się nazywa relacja, a w tym przypadku jest to konkretny jej rodzaj, czyli 1:1.

Nazwa "relacyjne bazy danych" nie jest dziełem przypadku smile.gif
  Forum: PHP · Podgląd postu: #1207241 · Odpowiedzi: 3 · Wyświetleń: 372

lukaskolista
Napisane: 30.11.2016, 08:15:05





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

W przypadku 1 tabeli do obsługi wszystkich relacji dojdzie do sytuacji, w której wiersze mogą mieć null w poszczególnych kolumnach. Opisywanie kilku relacji na 1 tabeli samo w sobie brzmi już niebezpiecznie.
  Forum: PHP · Podgląd postu: #1205482 · Odpowiedzi: 5 · Wyświetleń: 190

lukaskolista
Napisane: 29.11.2016, 16:42:37





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Cytat
To zależy jakie dane się powtarzają.

Nie masz racji, lepiej to rozbić tak jak autor tematu napisał - podstawy baz danych (relacja N:N).
  Forum: PHP · Podgląd postu: #1205440 · Odpowiedzi: 5 · Wyświetleń: 190

lukaskolista
Napisane: 27.11.2016, 13:04:29





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Skoro zapytanie jest dobrze, to znaczy, że problem tkwi gdzieś indziej.
  Forum: Frameworki · Podgląd postu: #1205226 · Odpowiedzi: 7 · Wyświetleń: 612

lukaskolista
Napisane: 30.10.2016, 11:42:23





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Nie ogarniam po co zaciągać cały kombajn jakim jest ORM po to, żeby korzystać z query buildera zamiast z zależności między obiektami.

Pobierz produkty dla wszystkich podkategorii danej kategorii:
  1. <?php
  2. $id = 1;
  3.  
  4. $category = $this->get('some-repo')->find($id);
  5. $categoryChildren = $category->getChildren();
  6. foreach ($categoryChildren as $categoryChild) {
  7. foreach ($categoryChild->getProducts() as $product) {
  8. // Do something with product
  9. }
  10. }


W pierwszym przypadku masz błąd (o ile dobrze pamiętam, bo z Doctrine korzystałem ostatnio rok temu):
  1. <?php
  2.  
  3. // Zamiast 'p.category = c' podaj c.klucz_glowny
  4. $sth->join('AppBundle:Product','p','p.category = c.klucz_glowny');
  Forum: Frameworki · Podgląd postu: #1203156 · Odpowiedzi: 2 · Wyświetleń: 516

lukaskolista
Napisane: 15.09.2016, 10:57:01





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Z prostych rozwiązań: http://php.net/manual/en/book.simplexml.php
  Forum: PHP · Podgląd postu: #1200129 · Odpowiedzi: 4 · Wyświetleń: 260

lukaskolista
Napisane: 12.09.2016, 08:42:50





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Pobrane dane zapisz sobie gdzieś. Gdzie to Ci nie powiem, bo nie wrzuciłeś kodu, który wykonuje zapytanie, jest co najmniej kilka możliwości.
  Forum: Przedszkole · Podgląd postu: #1199844 · Odpowiedzi: 2 · Wyświetleń: 148

lukaskolista
Napisane: 11.09.2016, 19:46:50





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

sylius.controller.product to id usługi, jako która jest zarejestrowany kontroler. Zrób sobie dumpa usług i zobacz na jaką klasę wskazuje ta usługa.

Swoją drogą ciekawy projekt, pisany głównie przez Polaków.
  Forum: Przedszkole · Podgląd postu: #1199822 · Odpowiedzi: 6 · Wyświetleń: 251

lukaskolista
Napisane: 9.09.2016, 09:09:09





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Proszę:
  1. <?php
  2.  
  3. // Tutaj wstaw wartość z kolumny w bazie danych
  4. $dateFromDataBase = '2016-09-09 07:10:27';
  5.  
  6. $now = new \DateTime();
  7. $date = new \DateTime($dateFromDataBase);
  8.  
  9. echo ($date >= $now->modify('-30 minutes')) ? 'NEW' : 'OLD';
  Forum: Przedszkole · Podgląd postu: #1199673 · Odpowiedzi: 12 · Wyświetleń: 236

lukaskolista
Napisane: 7.09.2016, 11:58:42





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

  1. $mail = new PHPMailer;
  2. $mail->setFrom('from@example.com', 'Your Name');
  3. $mail->addAddress('myfriend@example.net', 'My Friend');
  4. $mail->Subject = 'First PHPMailer Message';
  5. $mail->Body = 'Hi! This is my first e-mail sent through PHPMailer.';
  6. if(!$mail->send()) {
  7. echo 'Message was not sent.';
  8. echo 'Mailer error: ' . $mail->ErrorInfo;
  9. } else {
  10. echo 'Message has been sent.';
  11. }

Powyższe wykonaj 2x jedno pod drugim - 1 raz dla użytkownika, drugi dla Ciebie.
(Jakość powyższego rozwiązania jest kiepska, ale działa).
  Forum: PHP · Podgląd postu: #1199504 · Odpowiedzi: 4 · Wyświetleń: 413

lukaskolista
Napisane: 6.09.2016, 15:50:16





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

1 b
użyj wzorca proxy i takie proxy ustaw jako dekorator usługi repozytorium

2) Rozważ taką opcję, aby za obliczenia były odpowiedzialne usługi. Nie powiem Ci co konkretnie masz zrobić, bo wszystko zależy od kontekstu słowa "obliczenia".
  Forum: Frameworki · Podgląd postu: #1199436 · Odpowiedzi: 4 · Wyświetleń: 584

lukaskolista
Napisane: 22.05.2016, 11:37:52





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Nie rozumiem, czemu projekt na hostingu jest okrojony tylko do app i vendor? I niby jak to ma działać? Gdzie podziałeś src i web?
Tak w ogóle to w netbeansie nie utworzysz "projektu w symfony 2" bo netbeans nie posiada kodu symfony2, możesz jedynie zaznaczyć, że projekt korzysta z SF2 i wtedy netbeans widzi trochę więcej zależności.

Ogólnie:
1. Pobierasz framework z http://symfony.com/download zgodnie z instrukcją na tej stronie.
2. Dewelopujesz aplikację lokalnie za pomocą netbeans czy innego IDE
3. Wrzucasz aplikację na hosting i robisz masę ręcznej roboty przy okazji (bo nie znam automatów buildowych na hostingi, ale może jakieś są).
4. Nie edytujesz projektu bezpośrednio na hostingu (chyba nie muszę tłumaczyć czemu).
  Forum: Frameworki · Podgląd postu: #1192460 · Odpowiedzi: 2 · Wyświetleń: 372

lukaskolista
Napisane: 28.02.2016, 16:17:01





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

https://github.com/symfony/symfony/blob/mas...Yaml/Inline.php - commit sprzed 5 godzin.

Dodatkowo w żadnym PSR nic o tym nie ma, jakoś też w google nic nie mogę znaleźć na temat tego, żeby była to dobra czy zła praktyka.
  Forum: Oceny · Podgląd postu: #1186048 · Odpowiedzi: 19 · Wyświetleń: 1 542

lukaskolista
Napisane: 20.02.2016, 22:04:51





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Proste: Definicja != klasa

Definicja abstrakcyjnej usługi może bazować na nieabstrakcyjnej klasie.
Podobnie też definicja usługi może dziedziczyć po innej definicji usługi, która bazuje na klasie finalnej (klasa jest finalna, ale usługa to tylko definicja obiektu tej klasy, który będzie utworzony - DEFINICJA OBIEKTU, NIE KLASY).
Definicja to definicja, klasa to klasa i nie możesz utożsamiać z sobą tych 2 bytów.

Usługa abstrakcyjna to pojęcie podobnego poziomu, co usługa publiczna/prywatna oraz usługa leniwa. Czy klasy są publiczne/prywatne, a tym bardziej czy istnieją klasy leniwe? Nie smile.gif
  Forum: Frameworki · Podgląd postu: #1185236 · Odpowiedzi: 13 · Wyświetleń: 726

lukaskolista
Napisane: 19.02.2016, 07:28:27





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

fos_elastica.client_prototype jest usługą abstraktycją zdefiniowaną w konfiguracji usług, natomiast w pętli tworzone są "normalne" usługi na podstawie konfiguracji ale już tej zdefiniowanej w Configuration.php
  Forum: Frameworki · Podgląd postu: #1185107 · Odpowiedzi: 13 · Wyświetleń: 726

lukaskolista
Napisane: 18.02.2016, 16:30:23





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Cytat
Wynikało z tego, że jednak klasa definiowanego dekoratora musi być napisana też w php
A niby w czym ma być napisana?

Jakbyś spojrzał w źródło klasy DefinitionDecorator to byś zobaczył, że wcale nie trzeba podać klasy - dekorator definicji to nie taki dosłowny dekorator w kontekście wzorca projektowego.

Edit:
W końcu zapomniałem wytłumaczyć o co chodzi:
W Symfony można tworzyć abstraktyjne usługi czyli takie, których instancje nie są tworzone, a które służą do tworzenia innych definicji. To właśnie programowalny odpowiednik tego, co można równie dobrze zrobić w konfiguracji, jednak w tym przypadku umieszczenie tego akurat w rozszerzeniu pakietu ma konkretne przyczyny.
  Forum: Frameworki · Podgląd postu: #1185078 · Odpowiedzi: 13 · Wyświetleń: 726

lukaskolista
Napisane: 31.01.2016, 16:09:56





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Pozwoliłem sobie poprawić:
  1. public function findExpensesByProperty()
  2. {
  3.  
  4. $rsm = new ResultSetMapping;
  5.  
  6. $rsm->addEntityResult('User\UserBundle\Entity\User', 'u');
  7. $rsm->addJoinedEntityResult('Property\ManagementBundle\Entity\Owner', 'o', 'u', 'owners');
  8. $rsm->addJoinedEntityResult('Property\ManagementBundle\Entity\Property' , 'p', 'o', 'property');
  9. $rsm->addJoinedEntityResult('Property\ManagementBundle\Entity\Expenses' , 'e', 'p', 'expenses');\
  10. $rsm->addScalarResult('SUMA', 'sum'); // W tablicy będzie pod kluczem z 2 argumentu, czyli sum
  11. $sql = "
  12. SELECT u.id,u.username,
  13. o.id as o_id,o.name as o_name,
  14. p.id as p_id,p.name as p_name,p.adress as p_adress,
  15. e.id as e_id,e.name as e_name,SUM(e.price) as SUMA
  16. FROM users u
  17. INNER JOIN owner o ON u.id = o.user_id
  18. INNER JOIN property p ON o.id=p.owner_id
  19. LEFT JOIN expenses e ON p.id=e.property_id
  20. GROUP BY p_id
  21. ";
  22.  
  23.  
  24.  
  25.  
  26. $query= $this->_em->createNativeQuery(
  27. $sql, $rsm
  28. );
  29.  
  30. // $query->setParameter(1,$User);
  31.  
  32. return $query->getArrayResult();
  33.  
  34. }
  35. }


1. Do metod, które służą do otrzymywania obiektów a które mogą zwrócić null używaj find, get zakłada, że otrzymasz obiekt i tyle, nie dopuszcza nulla (niepisana zasada).
2. Czemu korzystając z ORM rzeźbisz wszystko ręcznie?
3. Polecam lekturę: http://doctrine-orm.readthedocs.org/projec...native-sql.html
  Forum: Frameworki · Podgląd postu: #1183152 · Odpowiedzi: 5 · Wyświetleń: 354

lukaskolista
Napisane: 31.01.2016, 12:41:35





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Hmm patrz na tą linijkę:
  1. $rsm->addEntityResult('User\UserBundle\Entity\User', 'u');

Mapujesz encję na alias "u", natomiast w SQL nigdzie tego aliasu nie używasz. SQL powinno wyglądać tak:
  1. SELECT u.*
  2. FROM users u
Nie pobieraj pojedynczych kolumn mapując dane na encje, zapomnisz czegoś zmapować i znowu będziesz się zastanawiał, czemu jest null.
  Forum: Frameworki · Podgląd postu: #1183125 · Odpowiedzi: 5 · Wyświetleń: 354

lukaskolista
Napisane: 31.01.2016, 11:36:04





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Cytat
Skoro podawany przez FIG RequestInterface rozszerza MessageInterface, to nie powinno się stosować RequestInterface bez MessageInterface.
Nie tyle "nie powinno się stosować", po prostu nie da się tego niezastosować smile.gif

Od początku:
Masz 3 intarface'y:
MessageInterface
RequestInterface extends MessageInterface
ResponseInterface extends MessageInterface

Albo robisz 1 implementację MessageInterface i używasz jej dla zapytań i odpowiedzi, albo robisz 2 implementacje (jedna RequestInterface i jedna ResponseInterface) i implementacji RequestInterface używasz do przyjmowania zapytań, a implementacji ResponseInterface używasz do zwracania odpowiedzi.

Edit:
W końcu znalazłem: zend-diactoros
Zwróć uwagę na klasy Request i Response - implementują odpowiednie interface'y i nigdzie nie ma bezpośredniej implementacji MessageInterface, ponieważ inteface'y Request i Response ją wymuszają.
  Forum: Object-oriented programming · Podgląd postu: #1183115 · Odpowiedzi: 10 · Wyświetleń: 2 099

lukaskolista
Napisane: 30.01.2016, 09:05:49





Grupa: Zarejestrowani
Postów: 872
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----

Jak się klamer nie używa to pokazuje tylko 1 (ostatni) smile.gif Zapomniałeś użyć { ... }
  Forum: PHP · Podgląd postu: #1183050 · Odpowiedzi: 6 · Wyświetleń: 365

4 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 17.12.2018 - 04:30