Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

73 Stron V   1 2 3 > » 

sf
Napisane: 4.05.2017, 07:03:32





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Cytat(czychacz @ 1.05.2017, 15:36:35 ) *
Z tego, co widzę, Slim potrzebuje różnych zależności, a połączenie z bazą realizowane jest przez czyste PDO...
Jeśli to jest MVC, to ja dziękuję smile.gif

Jakieś inne pomysły?


Który framework nie potrzebuje zależności? Przecież symfony czy zend korzysta najczęsciej z Doctrine, ale to nie jest część frameworka. Tak samo w Slim jak chcesz możesz korzystać z Doctrine. W ogóle to co PDO ma do MVC?

Cytat(daro0 @ 1.05.2017, 16:08:26 ) *
Sorry ale co to w ogóle ma być?

https://www.slimframework.com/docs/tutorial/first-app.html

Już bym wolał użyć Laravela albo od biedy nawet FuelPHP smile.gif


Do czego masz zatrzeżena dokładnie?

Slim to dobry wybór, ale widać nie każdy rozumie ideę prostego frameworka.

W zend expressive jest więcej rzeczy już gotowych, ale jest trudniejszy do opanowania.
  Forum: Frameworki · Podgląd postu: #1215188 · Odpowiedzi: 10 · Wyświetleń: 1 577

sf
Napisane: 26.09.2016, 17:51:00





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Podsumowując temat, layout można ustawić w kontrolerze, szablonie, module np. podpiąć się pod event. Wszystko opisane i uzupełnione o przykłady znajduje się w dokumentacji :

https://zendframework.github.io/zend-view/q...ng-with-layouts
  Forum: Frameworki · Podgląd postu: #1200952 · Odpowiedzi: 4 · Wyświetleń: 700

sf
Napisane: 14.03.2016, 13:42:18





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Problem jest gdzie indziej, tutaj jest wszystko ok.
  Forum: Frameworki · Podgląd postu: #1187452 · Odpowiedzi: 1 · Wyświetleń: 363

sf
Napisane: 11.02.2015, 16:58:55





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Zaczynam przygodę z testami i mam kilka wątpliwości czy wszystko robię prawidłowo.

1) Pierwszy problem to pobranie jakiegoś artykułu po jego identyfikatorze. Nie wiem pod jakimi ID znajdują się artykuły dlatego wymyśliłem sobie tak, że moje API wylosuje artykuł jeśli jako ID wpiszemy wartość "-1". Czy taki myk jest dopuszczalny? W innym przypadku wydaje mi się, że musiałbym stworzyć obiekt modelu i wywołać metodę pobierz losowy artykuł. Czy też inne rozwiązanie to utworzenie obiektu modelu i wywołanie metody pobierz artykuły z limitem 1, a potem uruchomienie API z wyciągniętym ID.

(tak wiem, że tutaj powinno się to GET załatwić wink.gif)

  1. public function testGetArticleAction()
  2. {
  3. // request method, url, post data
  4. $result = $this->request('POST', '/apiArticle/get-article', array('slim.input' => 'id=-1'));
  5. ...
  6. }


2) Czy w testach tworzy się warunki - jeśli pierwszy assert się nie wykona to nie wykonuj następnych bo na pewno nie będą działać? Oto przykład:

  1. public function testGetArticleAction()
  2. {
  3. // request method, url, post data
  4. $result = $this->request('POST', '/apiArticle/get-article', array('slim.input' => 'id=-1'));
  5.  
  6. $this->assertEquals('200', $this->app->response->status());
  7. // tutaj kilka assert związanych z $result
  8. }


Jeśli wystąpi 500 bo np. aplikacja się wysypie i wszystkie pozostałe assert będą negatywne. Ewentualnie podpytanie co w przypadku gdy zwróci 500 i brak danych do obróbki spowoduje wysypanie się aplikacji, fatal error czy też wyjątek. Czy należy testy przed tym zabezpieczać?

3) Czy mogę w jednej metodzie dwa razy uruchomić moje api dla różnych wartości? Np. w jednym chce przetestować zwrócenie wyniku prawidłowego, w drugim, że artykułu nie ma.

  1. public function testGetArticleAction()
  2. {
  3. // request method, url, post data
  4. $result = $this->request('POST', '/apiArticle/get-article', array('slim.input' => 'id=-1'));
  5.  
  6. $this->assertEquals('200', $this->app->response->status());
  7.  
  8. $data = json_decode($result);
  9. // tutaj jakieś testy
  10.  
  11. // drugie wywołanie
  12. $result2 = $this->request('POST', '/apiArticle/get-article', array('slim.input' => 'id=99999999999'));
  13.  
  14. $this->assertEquals('200', $this->app->response->status());
  15. $data = json_decode($result);
  16.  
  17. $this->assertEquals('article_nof_found', $data->err->code);
  18. }
  Forum: PHP · Podgląd postu: #1145001 · Odpowiedzi: 2 · Wyświetleń: 818

sf
Napisane: 6.02.2015, 10:19:58





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Cytat(maksik @ 6.02.2015, 07:37:09 ) *
Po prostu kiedyś słyszałem sugestie, że rozdzielenie danych na dwie tabele przy ich równoczesnym ładowaniu zwiększa prędkość ładowania, bynajmniej części danych. Czy teraz mogę myśleć, że to nie jest prawdą?


Oczywiście, że jak rozdzielisz to na 2 tabele w ten sposób co opisałeś to będzie wolniejsze. Wszystko zależy tak naprawdę do czego chcesz tego używać. Jakie zapytania do bazy będziesz robił, jak często i jak dużo insertów robił. Jeśli nie potrzebujesz po tych danych wyszukiwać to w ogóle można część danych wrzucić do json i zapisać do pola typu text. Każdy projekt jest inny i inaczej się projektuje bazę.
  Forum: PHP · Podgląd postu: #1144026 · Odpowiedzi: 8 · Wyświetleń: 545

sf
Napisane: 14.01.2015, 21:44:44





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

nie quiet tylko "quit;" - ważny jest znak ; na końcu, ewentualnie możesz użyć "\q"

pełny spis komend znajduje się w dokumentacji:

http://dev.mysql.com/doc/refman/5.0/en/mysql-commands.html

apache trzeba osobno zainstalować, najlepiej jeśli zainstalujesz sobie gotowy pakiet : mysql, apache i php ze strony http://www.wampserver.com/en/
  Forum: MySQL · Podgląd postu: #1140160 · Odpowiedzi: 11 · Wyświetleń: 915

sf
Napisane: 14.01.2015, 16:08:09





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Tu masz przykład:

http://stackoverflow.com/questions/5253302...l-mysql-columns

lub tutaj

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html
  Forum: MySQL · Podgląd postu: #1140106 · Odpowiedzi: 10 · Wyświetleń: 779

sf
Napisane: 12.01.2015, 18:48:20





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Szukaj pod słowem ajax. Najelpiej skorzystaj z gotowej biblioteki do javascript jquery.
  Forum: Przedszkole · Podgląd postu: #1139781 · Odpowiedzi: 10 · Wyświetleń: 1 015

sf
Napisane: 13.01.2015, 20:42:44





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

błąd tak jak jest napisane, nie ma zdefiniowanej zmiennej $a

isset($_GET['a']) and $a = $_GET['a']; // ten zapis jest dziwny, może chodziło Ci o coś takiego :

$a = isset($_GET['a']) ? $_GET['a'] : null; // jeśli ustawiona jest zmienna 'a' w adresie url to przypisz do zmiennej $a jej wartość, w innym przypadku ustaw null

co do rowspan, to zadziała to tylko w przypadku gdy użyjesz tego jeden raz, a nie n razy, html wynikowy powinien być taki:

Kod
<table>
    <tr>
        <td>a1</td>
        <td>a2</td>
        <td rowspan="3">dodaj</td>
    </tr>
    <tr>
        <td>b1</td>
        <td>b2</td>
    </tr>
    <tr>
        <td>c1</td>
        <td>c2</td>
    </tr>    
    </table>


u Ciebie jest taki:

Kod
<table>
    <tr>
        <td>a1</td>
        <td>a2</td>
        <td rowspan="3">dodaj</td>
    </tr>
    <tr>
        <td>b1</td>
        <td>b2</td>
        <td rowspan="3">dodaj</td>
    </tr>
    <tr>
        <td>c1</td>
        <td>c2</td>
        <td rowspan="3">dodaj</td>
    </tr>    
    </table>


ponadto w linijce

Kod
echo '<td rowspan='$ile'><a href="aZarzadzanie.php">Dodaj</a></td>';


jest błąd, powinno być:

Kod
echo '<td rowspan="' . $ile . '"><a href="aZarzadzanie.php">Dodaj</a></td>';


dodatkowo sprawdzasz w pętli czy ustawiona jest zmienna $_GET['a'] oraz czy możesz ją usunąć, powinieneś to wyciągnąć poza pętlę while, już nie wspominam o tym, że przekazywanie w ten sposób zmiennych do zapytań jest dziurawe i spowoduje ataki na Twoją stronę wink.gif
  Forum: Przedszkole · Podgląd postu: #1139984 · Odpowiedzi: 3 · Wyświetleń: 1 067

sf
Napisane: 12.01.2015, 18:57:02





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Cytat(afgan227 @ 12.01.2015, 18:28:14 ) *
  1. echo "<td><a href="link z kodem, do którego przypisujemy ID z tego wiersza, w którym jest kasuj">KASUJ</a></td>";


tak, właśnie w ten sposób, robisz np. <a href="index.php?controller=autokary&action=delete&id=3">usuń</a>

Cytat
2) A jeśli chodzi o edycję

Taki pomysł mam. Wrzucić do ComboBoxa dane. ( to wiem , że się da)
Po wybraniu jakiejś z opcji, automatycznie dane uzupełniły by formularz, w którym można by było dokonać edycji.. (Czy to da się zrobić?)


z edycują są dwa podejścia, jedno z wykorzystaniem ajax, ale to sobie na razie podarujmy, drugie to tworzysz link (podobnie jak przy usuwaniu, tylko dajesz akcje np. edit ) i przechodzisz na podstronę gdzie masz formularz do edycji, dane domyślne uzupełniasz z bazy danych, czyli robisz select * from nazwa_tabeli where id = przekazany_id_przez_get_lub_post

btw. skoro programowałeś w c# i nie są Ci obce obiekty używaj http://php.net/pdo do operacji na bazie danych
  Forum: Przedszkole · Podgląd postu: #1139784 · Odpowiedzi: 3 · Wyświetleń: 1 067

sf
Napisane: 4.01.2015, 09:38:16





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Bez przeładowania nie możesz tego zrobić w php tylko za pomocą javascript. Poniżej przyjkład z jquery.

Kod
<script type='text/javascript' src='jquery.min.js'></script>
<script>
$(document).ready(function() {
    $('form').submit(function(e) {
        e.preventDefault();
        div = $(this).attr('action');
        desc = $('textarea[name="tresc"]').val();
        $(div).html(desc)
    });
});
</script>

<div id="contener"></div>


Jeżeli chcesz użyć php to musisz ustawić w action plik php, który wyświetli odpowiedni kod html.
  Forum: PHP · Podgląd postu: #1138481 · Odpowiedzi: 2 · Wyświetleń: 524

sf
Napisane: 4.01.2015, 09:15:03





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

  1. $q = 'Polska';
  2.  
  3. if(isset($kraje[$q])) {
  4. echo $kraje[$q]['jezyk'];
  5. } else {
  6. echo 'nie istnieje';
  7. }
  Forum: Przedszkole · Podgląd postu: #1138478 · Odpowiedzi: 2 · Wyświetleń: 1 154

sf
Napisane: 4.01.2015, 09:44:07





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Cytat(maniek74 @ 4.01.2015, 09:19:46 ) *
a jaka różnica jest jesli załaduje 4 pliki po 50kb lub 1 po 200kb, pozatym sam css nie powoduje chyba zamulenia strony, sam css wydaje mi się że to będzie różnica w setnych sekundy, niezauważalna dla użytkownika.


Im mniej plików się ładuje tym strona ładuje się szybciej. Dlatego wielu programistów wszystkie pliki js łączy w jeden, podobnie css, w przypadku obrazków często się stosuje sprity. Google m.in. w pozycjonowaniu sprawdza szybkość ładowania strony, jest to mały ułamek całego wyliczania pozycji, ale jest. Jak potrzebujesz wyliczenia o ile szybciej taka strona się ładuje to na pewno jest trochę materiałów o tym w sieci, wystarczy poszukać. Głównie chodzi o to, że każde żądanie do serwera jest osobne, czyli zajmujesz zasoby apache czy innego serwera http.

https://developers.google.com/speed/pagespeed/insights/
  Forum: Przedszkole · Podgląd postu: #1138482 · Odpowiedzi: 10 · Wyświetleń: 828

sf
Napisane: 21.12.2014, 10:34:23





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Czy masz na początku każdego z tych plików session_start() ?
  Forum: Przedszkole · Podgląd postu: #1136717 · Odpowiedzi: 3 · Wyświetleń: 457

sf
Napisane: 4.07.2014, 07:16:25





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Z tego co zauważyłem to na każdej stronie masz te same tytuły i description... dodaj sobie stronę do google webmasters tools i tam przeanalizuj zastrzeżenia.
  Forum: Przedszkole · Podgląd postu: #1113796 · Odpowiedzi: 5 · Wyświetleń: 379

sf
Napisane: 4.07.2014, 07:46:06





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Cytat(mtk3d @ 3.07.2014, 15:46:09 ) *
I z tym wiąże się moje pytanie. W jaki sposób generowane są podstrony w CMS'ach? Wiem że działa to na bazie danych, ale nie bardzo rozumiem w jaki sposób są dodawane na podstronie np artykuły, lub mapa strony.


Na Twoim miejscu zainteresowałbym się jakimś frameworkiem, to rozwiązuje duże problemy jak chodzi o architekturę aplikacji.

Cytat
Wymyśliłem sobie, że może to działać, poprzez dodawanie odpowiednich "modułów" na podstawie treści dodatkowej kolumny danej podstrony w bazie danych. W głowie mam mniej więcej plan jakby to działało, ale chciałbym mimo wszystko dowiedzieć się w jaki sposób jest to rozwiązane w popularnych CMS'ach, żeby nie iść zbyt okrężną drogą.


Jak piszesz swój CMS to skupiłbym się na poznaniu co to jest routing, controller i akcja. W warstwie prezentacji view helpery.

Nie bazowałbym na takich rozwiązaniach jak wordpress bo kod jest przestarzały, powinni to już dawno przepisać.
  Forum: PHP · Podgląd postu: #1113798 · Odpowiedzi: 12 · Wyświetleń: 742

sf
Napisane: 12.06.2014, 07:26:12





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Cytat(memory @ 8.06.2014, 11:01:44 ) *
Ktoś kto nie pije, to się tam odnajdzie ?


Jadę z kolegą, który nie pije więc na pewno nie będziesz jedyny wink.gif
  Forum: Hydepark · Podgląd postu: #1110523 · Odpowiedzi: 30 · Wyświetleń: 5 359

sf
Napisane: 13.06.2014, 15:44:52





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

@freemp3: dzięki wielkie za pomoc, znalazłem teraz chwilę czasu to dokończyłem pisanie tego

gotowy kod dla potomnych gdyby ktoś szukał:

dodawanie wpisów na facebook
  Forum: Hydepark · Podgląd postu: #1110803 · Odpowiedzi: 7 · Wyświetleń: 1 116

sf
Napisane: 26.05.2014, 11:36:17





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Ogólnie to tam był jakiś problem z autoryzacją, ale to poradziłem sobie poprzez zakomentowanie jednej linijki w api ( podaje poniżej ), na swoje strony mogę wysyłać bez problemów. Czy to co piszecie dotyczy autoryzacji innych osób? Dodałem sobie moją żonę do aplikacji "Roles", nadałem nawet admina, ale niestety publikować na jej wallu nie mogę...

  1. if (isset($params['access_token']) && !isset($params['appsecret_proof'])) {
  2. //$params['appsecret_proof'] = $this->getAppSecretProof($params['access_token']);
  3. }


EDIT:

OK, doczytałem, że nie można postować na czyimś wallu, widocznie trzeba zrobić tak jak pisaliście czyli do nich wysłać zgłoszenie.
  Forum: Hydepark · Podgląd postu: #1108165 · Odpowiedzi: 7 · Wyświetleń: 1 116

sf
Napisane: 26.05.2014, 11:02:39





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Tak, to jest normalny wpis na ścianę facebookową. Klient po prostu nie chce ręcznie dodawać wpisów, tylko by z automatu dodał się też na facebooka.

  1. $params = array(
  2. "access_token" => $accessToken,
  3. "message" => "Tutaj wiadomość, że pojawił się nowy wpis",
  4. // inne parametry typu zdjęcie, link
  5. );
  6.  
  7. $ret = $fb->api('/' . $pageId. '/feed', 'POST', $params);
  Forum: Hydepark · Podgląd postu: #1108144 · Odpowiedzi: 7 · Wyświetleń: 1 116

sf
Napisane: 26.05.2014, 10:29:31





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Stworzyłem sobie aplikację facebookowa, która dodaje wpisy o nowo pojawiających się wpisach na blogu. Wszystko działa prawidłowo na moim koncie. Teraz chciałbym, aby ta aplikacja miała prawa do postowania na koncie klienta. Co muszę zrobić i co klient musi zrobić by to zadziałało?
  Forum: Hydepark · Podgląd postu: #1108137 · Odpowiedzi: 7 · Wyświetleń: 1 116

sf
Napisane: 23.05.2014, 14:57:46





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Używasz jednocześnie jquery i portotype. W takim przypadku musisz uniknąć konfliktu, jak to zrobić opisano np. tutaj:

http://learn.jquery.com/using-jquery-core/...ther-libraries/

najlepiej jednak używać po prostu jednego rodzaju bibliotek.
  Forum: Po stronie przeglądarki · Podgląd postu: #1107897 · Odpowiedzi: 1 · Wyświetleń: 452

sf
Napisane: 22.05.2014, 20:08:43





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Ogólnie tego się nie powinno używać, to jest dobre jak musisz coś zrobić szybko i o tym zapomnieć. Jeśli planujesz to rozwijać to pamiętaj, że nie wszystko w ten sposób da się zrobić. Zastosuj standardowe formy i filtry.
  Forum: Frameworki · Podgląd postu: #1107790 · Odpowiedzi: 5 · Wyświetleń: 468

sf
Napisane: 21.05.2014, 06:31:58





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

Kwiatki powinieneś dać jako tło wink.gif Poza tym poszukaj sobie jakiegoś tutoriala o float, np. tutaj jest:

http://css.maxdesign.com.au/floatutorial/tutorial0801.htm
  Forum: Przedszkole · Podgląd postu: #1107485 · Odpowiedzi: 1 · Wyświetleń: 171

sf
Napisane: 21.05.2014, 06:21:46





Grupa: Zarejestrowani
Postów: 1 597
Dołączył: 19.02.2003
Skąd: Tychy

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

czy w hosts dopisałeś linijkę czy zastąpiłeś? to samo pytanie dotyczy httpd.conf ?

ponadto w turtorialu dokładnie linijka wygląda tak, nie masz localhost na końcu w swoim:

127.0.0.1 zf2.localhost localhost
  Forum: Frameworki · Podgląd postu: #1107484 · Odpowiedzi: 2 · Wyświetleń: 457

73 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: 26.04.2024 - 11:26