Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >

ano
Napisane: 12.01.2014, 20:15:52





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Trochę źródeł: http://whoisusing.it/c++

W praktyce "samemu" raczej nie używa się C++ do pisania usług webowych, a ci co zrobili ten błąd i wcześniej używali teraz migrują na np. NodeJS ;-)

Możesz użyć c++ do pisania "czegoś" z czego korzystaja serwisy webowe np:
- bazy danych (mysql, redis, sphinx itp itd...)
- moduły do php
- "kompilatora" kodu (hhvm)

Ale do pisania pełnych serwisów - nie używa się.
Btw. Może to da Ci do myślenia - czemu FB zamiast pisać HHVM po prostu nie przepisze całego serwisu na c++? ;-)
  Forum: Hydepark · Podgląd postu: #1084892 · Odpowiedzi: 6 · Wyświetleń: 715

ano
Napisane: 5.12.2013, 22:11:54





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Symfony2:
* Zapewnienie Long Term Supportu
* Wysokie standardy Quality Assurance
* Masz tu case study jednego z naszych projektów na S2, zbliżony tematycznie - http://octivi.com/pl/projekty/goapp/ Możesz tam poczytać o zaletach frameworka. Tak swoją drogą, jednym z jego modułów jest taki CRM.

Więc tak - odpowiednio wykorzystany nadaje się.
  Forum: Frameworki · Podgląd postu: #1079077 · Odpowiedzi: 1 · Wyświetleń: 641

ano
Napisane: 17.11.2013, 09:05:42





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

1. Sprawdź czy w samym pliku konfiguracyjnym phpmyadmina nie ustawia się również maks. rozmiaru pliku.
2. ...Wgraj dumpa przez ssh
  Forum: Serwery WWW · Podgląd postu: #1075821 · Odpowiedzi: 1 · Wyświetleń: 921

ano
Napisane: 27.10.2013, 21:40:31





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Doctrine ORM wykorzystuje DBAL jako abstrakcję na bazę danych.
Poza tym chyba wszystko się zgadza wink.gif

Doctrine DBAL/ORM są bibliotekami, które możesz wykorzystać niezależnie od Symfony.
Zamiast Doctrine możesz wykorzystać Propela (a dokładniej Propel + PropelBundle, który "łączy" Propela do Symfony)
  Forum: Frameworki · Podgląd postu: #1072277 · Odpowiedzi: 2 · Wyświetleń: 522

ano
Napisane: 14.08.2013, 16:46:55





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

A czego używasz? Gitolite, gitlab, github?

N gitolite można bez problemu zrobić bardziej zaawansowane uprawnienia, np http://stackoverflow.com/questions/1298075...ons-on-branches
Na gitlabie również da się ustawić branche jako protected.
  Forum: Kontrola i zarządzanie projektami · Podgląd postu: #1060402 · Odpowiedzi: 3 · Wyświetleń: 1 750

ano
Napisane: 24.02.2013, 22:22:16





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Najprościej:
  1. $columns = array('id', 'name');
  2. $data = array('id' => '1', 'name' => 'abc', 'submit' => 'wyślij');
  3.  
  4. $columns = array_flip($columns);
  5. $filtered = array_intersect_key($data, $columns);
  6.  
  7. // i teraz $filtered = array('id' => '1', 'name' => 'abc';
  Forum: PHP · Podgląd postu: #1028165 · Odpowiedzi: 4 · Wyświetleń: 252

ano
Napisane: 19.02.2013, 15:12:05





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Poszukaj czegoś w nazwie "slugify". Np jest gotowe fajne rozszerzenie do doctrine:
http://gediminasm.org/article/sluggable-be...-for-doctrine-2
  Forum: Frameworki · Podgląd postu: #1026735 · Odpowiedzi: 1 · Wyświetleń: 275

ano
Napisane: 9.02.2013, 16:01:57





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Używasz wtedy pełnej nazwy klasy (FQCN). W przypadku PDO odwołujesz się do niego przez: \PDO (np.: \PDO::PARAM_STR)
  Forum: PHP · Podgląd postu: #1024444 · Odpowiedzi: 3 · Wyświetleń: 304

ano
Napisane: 8.02.2013, 14:53:47





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Tak.
Ale czy nie łatwiej samemu to sprawdzić?
  Forum: Frameworki · Podgląd postu: #1024236 · Odpowiedzi: 10 · Wyświetleń: 579

ano
Napisane: 7.02.2013, 23:23:26





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

W modelu Category stwórz metody typu:
getMoviesSortedBy...()
i w nich do sortowania użyj Criteria API:
http://docs.doctrine-project.org/en/latest...ing-collections
  Forum: Frameworki · Podgląd postu: #1024086 · Odpowiedzi: 10 · Wyświetleń: 579

ano
Napisane: 8.02.2013, 14:55:17





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Stwórz ExceptionListener sprawdzający typ wyjątku - jeśli będzie to Credentials... to możesz wtedy zrobić cokolwiek chcesz - np przekierować usera na stronę zmiany hasła.
  Forum: Frameworki · Podgląd postu: #1024238 · Odpowiedzi: 9 · Wyświetleń: 621

ano
Napisane: 4.02.2013, 18:09:27





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

  1. $tab = array();
  2. $a = array('id'=>1, 'amount'=>4);
  3. $b = array('id'=>3, 'amount'=>3);
  4. $tab[] = $a;
  5. $tab[] = $b;
  6.  
  7. foreach ($tab as &$st){
  8. if ($st['id'] == 3) {
  9. $st['amount']=555;
  10. }
  11.  
  12. }


Domyślnie "tablice" w php są przekazywane przez wartość. Dlatego musisz użyć operatora &, ktory spowoduje przekazanie wartości referencji.
  Forum: PHP · Podgląd postu: #1023154 · Odpowiedzi: 2 · Wyświetleń: 288

ano
Napisane: 2.02.2013, 23:32:32





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Możesz popatrzeć tutaj, kto z czego korzysta: www.whoisusing.it
Dodatkowo dobre źródło to: highscalability.com
  Forum: Frameworki · Podgląd postu: #1022716 · Odpowiedzi: 16 · Wyświetleń: 1 266

ano
Napisane: 29.01.2013, 07:57:04





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Skoro nie masz czasu/budżetu na stawianie własnego dedykowanego sklepu to myślę, że idealnym rozwiązaniem będzie pójść "w chmurę", w model SaaS (service as a service).

Zainteresuj się www.wellcommerce.pl - robi go agencja z chyba najwiekszym w Polsce doświadczeniem w tej kategorii (divante.pl).

+ Zobacz na listę wdrożeń
+ nie musisz inwestować we własny serwer => nie musisz się martwić o kwestie z tym związane
+ baaardzo duże możliwości integracji z zewnętrsnymi systemami
+ to oni zapewniają stabilność platformy => nie musisz się martwić o aktualizacje softu itp.
+ dostajesz to, co przez lata wypracowali ludzie z divante - najlepsze praktyki przy tworzeniu ecommerce => domyślne, dobrze zaprojektowane szablony, SEO
+ dobry support
  Forum: Gotowe rozwiązania · Podgląd postu: #1021530 · Odpowiedzi: 13 · Wyświetleń: 1 968

ano
Napisane: 11.01.2013, 17:32:25





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Zainteresuj się skrótami: GIODO, UODO.

http://www.giodo.gov.pl/266/
http://www.giodo.gov.pl/144/id_art/386/j/pl/
  Forum: Hydepark · Podgląd postu: #1017610 · Odpowiedzi: 1 · Wyświetleń: 496

ano
Napisane: 1.01.2013, 11:38:49





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Od pewnego czasu robię analizy ofert pracy (Polskie i zagraniczne - UK, USA) i wyniki są jednoznaczne:
Jeszcze rok/półtora roku temu Symfony2 praktycznie NIE pojawiało się w ofertach, królował ZF. Ale od jakiegoś pół roku nastał "rozkwit " ofert z Symfony2.
Na razie wygląda to tak, że Symfony2 coraz częściej znajduje się jako "wymóg", a praktycznie w 70% ofert jako "pożądane" doświadczenie.
Należy to rozumieć tak, że firmy potrzebowały czasu, aby samemu zdobyć know-how w tej nowej technologii.
Nawet po znajomych firmach cały czas widzę, że większość (albo praktycznie wszyscy) zaczynają coraz bardziej odchodzić od Zenda na rzecz Symfony2. I nawet nie chodzi tu zawsze o pełny stack Symfony2 Framework a o refactoring aktualnych aplikacji po przez przejście na Symfony2 Components tongue.gif

Ale tak na prawdę nie nastawiaj się, że będziesz cały czas pracowal na jednym FW, nie przywiązuj się do jednego. Musisz być uniwersalny i umieć się łatwo przestawić na inną/nową technologię.
  Forum: Hydepark · Podgląd postu: #1015477 · Odpowiedzi: 8 · Wyświetleń: 618

ano
Napisane: 9.12.2012, 15:37:10





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Takie testy na "hello world" są bezsensu - nic nie pokazują, a przewaznie są robione na MacBookach autorów wink.gif Poza tym czy zauwazyłeś w komentarzach, że gość testował Symfony2 w środowisku DEV?

Taki sneak-peak:
Już wkrótce wrzucimy na bloga miarodajne testy porównujące Symfony2, ZF2, Silex, Node.js na podstawie prawdziwej aplikacji o realnym, specyficznym, zastosowaniu (a nie hello world).
Co jeszcze mogę zdradzić: testy będą robione na odpowiednio zoptymalizowanej pod taką aplikację, największej instancji serwera Amazon EC2 (a dokladniej to na dwóch takich instancjach) :-)
  Forum: Frameworki · Podgląd postu: #1011250 · Odpowiedzi: 27 · Wyświetleń: 3 055

ano
Napisane: 28.11.2012, 20:15:02





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

SF2 jest o wiele przyjaźniejszy dla Rapid Developmentu.

Przy ZF2 dostajesz pewien zbiór komponentów, z których tak na prawdę sam musisz ulepić coś fajnego więc w efekcie wejście w ZF2 trwa dłużej - samemu trzeba opracować pewne 'standardy' itp.

Przy SF2 dostajesz od razu całość gotową do szybkiego developingu.

Średnie czasy Requestów dla tych 2óch frameworków przy podobnie zaprojektowanej aplikacji (tak samo wykorzystany cache itp) będą porównywalne. A to, że Zend jest wydajniejszy jest mitem. Sami developerzy Zf żalili się na temat niskiej wydajności Zf1.
(http://forum.php.pl/index.php?s=&showtopic=204816&view=findpost&p=1005857)

Co do ORMa:

Nie wyobrażam sobie CRMa bez użycia ORMa ;-)
Obsługa kodu bazującego na masie tablic asocjacyjnych w aplikacji bazującej na pewnych bytach biznesowych będzie strasznie kosztowna. Sam taki kod prawdopodobnie w końcu 'osiągnie' bardzo niską jakość, ciężko nad nim będzie zapanować.
Wykorzystanie obiektów przy tego typu aplikacjach jest moim zdaniem niezbędne.

Praktyka jest taka, że gdy w jednym requeście wykorzystujesz niewiele rekordów (lub po prostu jeden ;]) to stosujesz ORM. Prawdopodobnie na tej jednej encji będziesz chciał wykonywać pewne skomplikowane operacje, które o wiele łatwiej wykonać w świecie obiektowym.

Jednak gdy masz jakieś listingi rekordów, bez zbędnych operacji na nich/logiki --> wykorzystujesz tablice asocjacyjne.

Dlaczego SF2 się lepiej sprawdzi?
Jest lepiej przystosowany do ORMa, obiektów itp. Głównie ze względu na formularze, które były w założeniu tworzone na potrzeby obiektów (Oczywiście mogą również obsługiwać tablice asocjacyjne, ale raczej tego się nie stosuje, chyba że do prostych struktur)

Poza tym nie wyobrażam sobie definiowania reguł walidacji dla tablic asocjacyjnych. Tak masz całą logikę zdefiniowaną za pomocą adnotacji w konkretnej klasie modelu, lub za pomocą jakiegoś XMLa/YAMLa (czegokolwiek).

A jak byś użył walidacji przy tablicach? Zapisywałbyś pewnie reguły walidacji przy formularzu co jest mało rozsądne.

Obiektami lepiej potem operować gdy będzisez tworzył API swojego serwisu. Do SF2 powstały pewne świetne biblioteki, służące do de/serializacji obiektów do JSON, XML, itp.

Więc tworzenie webservice'ów, RESTa itp będzie bardzo proste przy tak utrzymanym kodzie.


A jeśli chciałbyś zapytać o średnie czasy odpowiedzi to mogę tylko odpowiedzieć, że licz się z między 80ms - 600ms - 600 przy np obsłudze bardzo złożonych formularzy.
  Forum: Frameworki · Podgląd postu: #1009085 · Odpowiedzi: 27 · Wyświetleń: 3 055

ano
Napisane: 26.11.2012, 22:38:21





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

...i zrób testy Symfony2/ZF2 a nie Doctrine/ZF2ORM ;p

Taki mały hint: przy pobieraniu tylu rekordów nie stosuje się ORMa, jest to ekstremalnie niewydajne (w efekcie długie czasy i pożera baaardzo dużo pamięci).
Wtedy lecisz jak najbardziej RAW - tzn możesz użyć Doctrine2, ale bez "hydracji" (hydrating) do obiektów, a zamiast tego do zwykłych arrayów.
ORM jest dobry przy stosunkowo małej ilości obiektów zaciąganych na raz.
  Forum: Frameworki · Podgląd postu: #1008632 · Odpowiedzi: 27 · Wyświetleń: 3 055

ano
Napisane: 23.10.2012, 16:18:12





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Jest to związane z wyjątkiem "TransformationFailedException".
Przy "sztucznym" wyborze nieistniejącego serwera wywalany jest ten wyjątek. Jest związany z
1. Polem typu "entity": https://github.com/symfony/symfony/blob/mas.../EntityType.php
2. Bezpośrednio zaś z transformatorem odpowiedzialnym za typ formularza "choice" - https://github.com/symfony/symfony/blob/mas...sformer.php#L56
-> transformator nie może znaleźć "właściwej" wartości i dlatego wypluwa TransformationFailedException.
Niestety, ten wyjątek jest wyciszany w trakcie bindowania danych do formularza.
Na formularzach działa "specjalne" rozszerzenie dodajace walidację:
https://github.com/symfony/symfony/blob/mas...orExtension.php
Kod
'invalid_message'            => 'This value is not valid.',

I ten komunikat bezpośrednio Ci się wyświetla w Twoim przypadku.

To niepożądane działanie jest opisane w tym issue:
https://github.com/symfony/symfony/issues/5607

Ale ten przypadek z błędem "Ta wartość jest nieprawidłowa" jest skrajny i w normalnym używaniu ciężko go 'wywołać' - trzeba preparować requesta z podanymi lewymi wartościami ;-)

Zastanów się, czy potrzebujesz koniecznie zmienić ten tekstu.
  Forum: Frameworki · Podgląd postu: #1001359 · Odpowiedzi: 5 · Wyświetleń: 389

ano
Napisane: 10.06.2012, 14:02:13





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

  1.  
  2. function __construct($source, $data = null) {
  3.  
  4. if ($data) {
  5.  
  6. switch ($data['type']) {
  7.  
  8. case 'twn':
  9.  
  10. $class = 'Town_'.$source;
  11.  
  12. break;
  13.  
  14. case 'bld':
  15.  
  16. $class = 'Building_'.$source;
  17.  
  18. break;
  19.  
  20. }
  21.  
  22. } else {
  23.  
  24. $class = 'Location_'.$source;
  25.  
  26. }
  27.  
  28. return new $class($data);
  29.  
  30. }


konstruktor nie może zwracać innej klasy, nie może nic zwracać.
LocationFactory mogłoby mieć jedną statyczną metodę np "getLocation($source, $data = null): Location
robienie tego konstruktorem jest baaardzo słabe.
  Forum: Object-oriented programming · Podgląd postu: #968584 · Odpowiedzi: 2 · Wyświetleń: 418

ano
Napisane: 2.06.2012, 13:34:06





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

No dobra, przecież sam mówisz, że "pobierasz wszystko". Skąd EntityRepository:findAll() ma wiedzieć, że używasz jakiegoś tam ACL?
Jak koniecznie chcesz użyć ACL to możesz pobrać wszystkie CV tym findAll'em i potem w pętli przefiltrować za pomocą http://symfony.com/doc/current/cookbook/se...checking-access (wybrać tylko te do których user ma dostęp).
ALEEE
po co skoro można w warunku findBy(array('user' => $currentUserId ) ograniczyć wynik zapytania tylko do tych, CV które dodał dany User? Będzie o wiele wydajniejsze i skalowalne...
  Forum: Frameworki · Podgląd postu: #967007 · Odpowiedzi: 5 · Wyświetleń: 658

ano
Napisane: 22.05.2012, 18:00:38





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Masz źle zrobione mapowania. W pliku z mapowaniem/adnotacjach nie rób samemu pola klasy 'content_id'. Jedynie pole content z ustalonym powiązaniem. Częsty błąd.
  Forum: Frameworki · Podgląd postu: #964738 · Odpowiedzi: 4 · Wyświetleń: 1 984

ano
Napisane: 25.03.2012, 16:22:26





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

  1. // pobieramy treść z pliku wzor.php
  2. $fileContent = file_get_contents('wzor.php');
  3.  
  4. // dzielimy tresc pliku na linijki
  5. $lines = explode('\n',$fileContent);
  6.  
  7. // usuwamy n-tą linijkę pliku
  8. $n = 2;
  9. array_splice($lines, $n)
  10.  
  11. // Z powrotem łączymy tablicę w jednego stringa
  12. $newContent = implode('\n', $lines);
  13.  
  14. // zapisujemy do pliku xyz.php
  15. file_put_contents('xyz.php', $newContent);
  Forum: Szukam · Podgląd postu: #950868 · Odpowiedzi: 1 · Wyświetleń: 345

ano
Napisane: 25.03.2012, 14:30:58





Grupa: Zarejestrowani
Postów: 435
Dołączył: 16.02.2003
Skąd: Wrocław

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

Nie za bardzo rozumiem... po wyrenderowaniu szablonu nie możesz już zmieniać jego kontekstu. Bo jaki w tym był by sens? Możesz co najwyżej go jeszcze raz wyrenderować ale jw. po co?
  1. ustaw kontekst dla header.tpl
  2. jakies operacje
  3. ustaw dodatkowy kontekst dla header.tpl
  4.  
  5. echo $this->Core->getTwig()->render( 'header.tpl', array(
  6.  
  7. 'Ceres' => array(
  8.  
  9. 'template_dir' => Templates_Dir . $this->Core->getCollection()->getMember( 'Settings' )->getSetting( 'board_template' ) . '/',
  10.  
  11. 'global_css' => Public_Dir . 'Css/' ) ) );


nie chodzi Ci po prostu o:

  1. $context = array();
  2. //ustaw kontekst dla header.tpl
  3. $context['Ceres'] = 'cośtam';
  4. // jakies operacje
  5. // ....
  6. //ustaw dodatkowy kontekst dla header.tpl
  7. $context['Additional'] = 'cośtam2';
  8.  
  9. echo $this->Core->getTwig()->render( 'header.tpl', $context);

?
  Forum: Systemy szablonów · Podgląd postu: #950841 · Odpowiedzi: 2 · Wyświetleń: 1 717

2 Stron V   1 2 >

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: 23.04.2024 - 17:46