Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >

Riklaunim
Napisane: 8.09.2010, 10:27:34





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

https://rpxnow.com/ użyj tego widżeta winksmiley.jpg Ogólnie każde źródło społecznościowe ma swój identyfikator - czy to OpenID, czy Facebook i są to łańcuchy, nie liczby. Widżet JanRain po autoryzacji użytkownika wysyła na wskazany URL POSTem dane użytkownika / wynik autoryzacji. Logujesz wtedy użytkownika po identyfikatorze. Oczywiście każdy user ma swój login i może mieć zwykłe hasło żeby logować się też normalnie.

U mnie zrobione jest to w oddzielnej tabeli - relacja do usera, identyfikator społeczny. Reszta trzymana jest w tabeli profili użytkownika (login, imię, awatar, mail itd.)
  Forum: Bazy danych · Podgląd postu: #787556 · Odpowiedzi: 2 · Wyświetleń: 1 619

Riklaunim
Napisane: 16.05.2010, 19:56:29





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Tak samo jak w Pythonie można pisać system operacyjny (a jest taki projekt). PHP było i jest realnie tylko do www bo tylko do tego było i jest projektowane. Python jest językiem skryptowym ogólnego przeznaczenia, a do www są praktycznie tylko frameworki Pythonowe bo do tego zostały specjalnie zaprojektowane. Nie kłóćmy się na najbardziej abstrakcyjne zastosowania danego języka - bo każdy ma takich pełno. Biznesowo takie abstrakcje są martwe winksmiley.jpg
  Forum: Hydepark · Podgląd postu: #747068 · Odpowiedzi: 26 · Wyświetleń: 3 754

Riklaunim
Napisane: 1.03.2010, 12:22:53





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Przed zamknięciem DIVa daj
Kod
<br style="clear:both;" />
  Forum: Przedszkole · Podgląd postu: #719068 · Odpowiedzi: 4 · Wyświetleń: 791

Riklaunim
Napisane: 27.02.2010, 14:19:09





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Opanuj się trochę winksmiley.jpg. Zapytania nie są kosmicznym wysiłkiem. Od lat relacyjne bazy danych te zapytania obsługują i internet jakoś się nie zawalił. Chcesz to optymalizować? To napisz stronkę w HTMLu i odpal na serwerze napisanym w asemblerze.... bo przecież ten Pehap i te okrutne zapytania SQL są takie obciążające dla serwera.
Jak chcesz skrypt ogólnoużytkowy na darmowe i tanie hostingi współdzielone, to raz że o wykorzystanie skryptu do stron o jakimś ogromnym ruchu nie musisz się martwić w początkowych latach istnienia projektu, a dwa że na takich hostingach nie masz dostępu do narzędzi jakie są wykorzystywane do skalowanie dużych serwisów na lepszych platformach hostingowych (memcache, gearman, sphinx/lucene/solr, czy też układy wieloserwerowe z load balancerem, czy replikacją bazy danych).


Notka: nie używaj subselectów (mają naturę do nie używania indeksów), wykonaj je oddzielnie i wstaw gotowe listy do tego zapytania.
  Forum: Bazy danych · Podgląd postu: #718381 · Odpowiedzi: 3 · Wyświetleń: 724

Riklaunim
Napisane: 18.01.2010, 02:09:47





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Kod
USE="flaga1 flaga2" php

Plus wcześniej z -pv żeby zobaczyć, czy flagi są zaznaczone.
  Forum: Serwery WWW · Podgląd postu: #702786 · Odpowiedzi: 1 · Wyświetleń: 1 360

Riklaunim
Napisane: 29.11.2009, 22:17:58





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Na ilu forach wrzuciłeś ten temat ? :] możesz generować dla każdego wpisu unikalną kopię tytułu złożonego tylko ze znaków dopuszczalnych w URLach, lub też doklejać do unikalnego numerycznego ID. Ot cała filozofia. 5 minut, a dla ciebie to z 5 lat winksmiley.jpg
  Forum: PHP · Podgląd postu: #686245 · Odpowiedzi: 2 · Wyświetleń: 625

Riklaunim
Napisane: 27.11.2009, 23:52:35





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

http://alexgorbatchev.com/wiki/SyntaxHighlighter
  Forum: Szukam · Podgląd postu: #685610 · Odpowiedzi: 3 · Wyświetleń: 857

Riklaunim
Napisane: 21.11.2009, 14:36:19





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Jeżeli masz różne wersje językowe strony - to możesz użyć GeoIP (pecl.php.net) do geolokalizacji adresu IP użytkownika (kraj, obszar, miasto).
  Forum: Przedszkole · Podgląd postu: #682890 · Odpowiedzi: 3 · Wyświetleń: 618

Riklaunim
Napisane: 12.11.2009, 17:37:42





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Tyle że Linux to nie Windows. Pod Okularem CHM mi otwiera raczej bez problemu, choć przymula.
  Forum: Komputery i oprogramowanie · Podgląd postu: #679624 · Odpowiedzi: 8 · Wyświetleń: 1 935

Riklaunim
Napisane: 23.10.2009, 21:24:08





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Dalego temu do jakiejś poprawności, tym bardziej linkowi do localhosta winksmiley.jpg

WHERE PicNum = '$num'" -- umieszczając wartość w ' oznaczasz ją jako string, a pola auto_increment stosują liczby. Także przyczepiłbym się addslashes na binarnych danych. Poza tym serwowanie grafik z bazy nie jest wydajne.
  Forum: Przedszkole · Podgląd postu: #673555 · Odpowiedzi: 3 · Wyświetleń: 1 500

Riklaunim
Napisane: 17.09.2009, 11:13:41





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

PHP generalnie działa jak CGI - żądasz jakiśurl/plik.php - on się wykonuje, zwraca wynik i wszystko jest zabijane. Aplikacje n. Python, Ruby działają jako ciągłe procesy (do tego mogą być wielowątkowe) - na przychodzące żądanie czeka gotowy "prekomplikowany" kod, który przyjmie żądanie i zwróci wynik (tak w uproszczeniu). Tego typu sposób działania daje (może dać) większą wydajność, tyle że całość musi być dostosowana do pracy wielowątkowej (threadsafe) - głównie rozszerzenia w C/C++.
  Forum: Serwery WWW · Podgląd postu: #661975 · Odpowiedzi: 1 · Wyświetleń: 1 159

Riklaunim
Napisane: 15.09.2009, 23:27:13





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

iPhone, Android, nowsze BlackBerry, (Opera Mini) bez problemu obsługują współczesne standardy. Wszystkie "niższe" starsze przeglądarki mobilne obsługują tylko ich część. Wersję mobilną można zrobić rozpoznając user-agent, czy też dla tych nowszych przeglądarek (i stanowiących raczej gros ruchu mobilnego) można dodać alternatywny arkusz CSS smile.gif
Polecam Emulatory mobilnych przeglądarek internetowych i Tworzenie stron pod iPhone, Androida i inne urządzenia mobilne - wykorzystując oddzielny arkusz CSS smile.gif

  Forum: Przedszkole · Podgląd postu: #661545 · Odpowiedzi: 3 · Wyświetleń: 1 224

Riklaunim
Napisane: 27.08.2009, 20:48:29





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Edytujesz panel i dodajesz nowy plasmoid do niego - nowe menu. Jak dla mnie te nowe wersje są mało poręczne bo trzeba sporo się naklikać winksmiley.jpg
  Forum: Komputery i oprogramowanie · Podgląd postu: #654510 · Odpowiedzi: 1 · Wyświetleń: 587

Riklaunim
Napisane: 8.08.2009, 12:26:52





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Gentoo samo dodaje moduły, które instalujesz przez portage (dev-php5/pecl-memcache na pewno zainstalowane) i nie trzeba ich dodawać ręcznie. Pod Linuksem nie ma rozszerzeń DLL - są tylko i wyłącznie SO, więc dodając dll na pewno ci nie zadziała tongue.gif
  Forum: Serwery WWW · Podgląd postu: #645791 · Odpowiedzi: 3 · Wyświetleń: 902

Riklaunim
Napisane: 16.06.2009, 17:50:04





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Kod
phpize
make
(root) make install


I dodanie stosownego modułu do php.ini. W readme pewnie jeszcze będzie informacja o pliku-bibliotece adresów IP (do ściągnięcia ze strony firmy odpowiedzialnej za to rozszerzenie).
  Forum: Serwery WWW · Podgląd postu: #620927 · Odpowiedzi: 2 · Wyświetleń: 1 059

Riklaunim
Napisane: 13.06.2009, 21:26:33





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Framework gotowcem nie jest, a gdy zaczniesz szukać dobrej pracy to spytają cię na starcie o znajomość takich narzędzi. A jak chcesz pisać wszystko od zera - twój wybór. Też kiedyś tworzyłem takiego CMSa "od zera" zintegrowanego z punBB, a gdy poznałem CodeIgnitera zmieniłem pogląd jak tworzyć aplikacje webowe.

Jak chcesz zaczynać od zera to zacznij od stworzenia prostego systemu wywołującego kontrolery (klasa/metoda) na podstawie np. ustalonych parametrów GET. A gdy to będzie działać rozbuduj kontroler tak by mógł ładować szablony, później też modele wykonujące zapytanie/zwracające wyniki. Taką prostą ramówkę mam w punFramework - plik mvc.php (download)

Co do wzorców projektowych - nie są po to by ich używać, czy przeprowadzać wzorcowe implementacje, tylko po to by łatwiej się programowało. Dlaczego nikt nie robi nic "samodzielnie"? Bo takie są realia rynku - klienta nie obchodzi jak pięknie zaimplementowałeś dany wzorzec - interesuje go funkcjonalność za którą zapłacił.
  Forum: Object-oriented programming · Podgląd postu: #619523 · Odpowiedzi: 15 · Wyświetleń: 3 352

Riklaunim
Napisane: 8.01.2009, 19:16:16





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

jednowątkowo - jeden skrypt, który po kolei wszystko robi (pętle itp.) winksmiley.jpg
  Forum: Przedszkole · Podgląd postu: #556185 · Odpowiedzi: 7 · Wyświetleń: 1 687

Riklaunim
Napisane: 30.12.2008, 10:51:01





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

tak, wkleiłeś dodatkowy BBtag "code" tongue.gif

A tak na poważnie to nie $znajdz, a $_POST['znajdz'] poza tym:
- dorzuć walidację/filtrowanie zmiennych wstawianych do zapytania (patrz SQL Injection)
- echo może używać ' a nie tylko ", przez co nie musisz slaszować \ każdego cudzysłowu w kodzie HTML drukowanym przez echo winksmiley.jpg
  Forum: PHP · Podgląd postu: #552632 · Odpowiedzi: 4 · Wyświetleń: 887

Riklaunim
Napisane: 29.12.2008, 13:53:41





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

I tak wynik - kod HTML będzie ten sam (czy to z bazy, czy z plików), z tym że od strony kodu pliki tekstowe są gorsze w przechowywaniu danych o określonej strukturze.
  Forum: PHP · Podgląd postu: #552287 · Odpowiedzi: 4 · Wyświetleń: 1 168

Riklaunim
Napisane: 29.12.2008, 15:20:42





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

tam masz obiekt, a nie tylko sam kod grafiki.

PS. na dużą skalę wydajne to to nie będzie smile.gif
  Forum: PHP · Podgląd postu: #552310 · Odpowiedzi: 10 · Wyświetleń: 2 061

Riklaunim
Napisane: 22.12.2008, 13:52:17





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Po wierszu z $zapytanie2 możesz dać $tablica2[] = array(); żeby wyczyścić tablicę przed zapełnieniem ją kolejnymi forami. Po zakończeniu pętli dla $zapytanie2 musisz tą $tablica2 dodać do głównej tablicy kategorii np:
Kod
$tablica[] = array($rekord, $tablica2);

Usuwając zarazem $tablica[] = $rekord;. Dzięki temu masz jedną tablicę do przekazania do szablonu. $tablica[ELEMENT][0] to dane kategorii, a $tablica[ELEMENT][1] to tablica z forami dla tej kategorii - czyli w szablonie dajesz foreach as $cośtam na $tablica i w nim kolejnego foreach na $cośtam[1] smile.gif
  Forum: PHP · Podgląd postu: #550213 · Odpowiedzi: 26 · Wyświetleń: 2 663

Riklaunim
Napisane: 22.12.2008, 12:35:00





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Pomyśl trochę. Jeżeli pobiera wszystkie fora to znaczy że warunek WHERE jest błędny. Zakładając że masz relację jeden do wielu w tabeli for powinna być kolumna z numerem ID danej kategorii - i wstawiając w warunku where id obecnie przemiatanej kategorii musi zadziałać winksmiley.jpg

Dla przykładu fragment struktury mojego forum:
Kod
CREATE TABLE IF NOT EXISTS `rk_category1` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `order` smallint(5) unsigned NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `rk_forum1` (
  `id` int(11) NOT NULL auto_increment,
  `category_id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `description` varchar(255) NOT NULL,
  `topics` int(10) unsigned NOT NULL,
  `posts` int(10) unsigned NOT NULL,
  `lastposter` varchar(255) default NULL,
  `lasttopic` varchar(255) default NULL,
  `modification_date` datetime NOT NULL,
  `order` smallint(5) unsigned NOT NULL,
  `use_prefixes` tinyint(1) NOT NULL,
  `allow_anonymous` tinyint(1) NOT NULL,
  `use_moderators` tinyint(1) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `rk_forum1_category_id` (`category_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

Tabela rk_forum1 ma kolumnę "category_id" przechowującą wartość "id" kategorii (rk_category1), do której jest przypisane smile.gif
  Forum: PHP · Podgląd postu: #550186 · Odpowiedzi: 26 · Wyświetleń: 2 663

Riklaunim
Napisane: 21.12.2008, 22:28:43





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Cytat(akurczyk @ 21.12.2008, 23:25:38 ) *
Można to jakoś prościej??

Prościej to nie znaczy czytelniej i łatwiej w rozbudowie winksmiley.jpg Chcesz robić forum? Użyj frameworka (Kohana, CI, inne) i oddziel zapytania od widoku i od szablonu odpowiedzialnego za wygląd - jeżeli chcesz stworzyć coś funkcjonalnego, co można pokazać smile.gif

Cytat
Nie wiem kto teraz pisze własne systemy template ze sładnią z dupy, która wygląda troche inaczej niż czyste PHP, a działa wolniej. SMARTY = crap.


to napisz serwis pokroju nasza klasa, grono, czy też fotka bez szablonów, stosując PHP, a później próbuj to rozbudowywać i poprawiać. Szablony i inne rozwiązania, wzorce projektowe nie są stosowane po to by kod był szybszy (bo będzie nieco wolniejszy niż napisany jednym ciurkiem), ale żeby ten kod dało się utrzymać, modyfikować i rozwijać. I taka mała notka - szablony smarty są kompilowane do kodu PHP (kesz) i przy kolejnych wywołaniach szablonu te gotowe postacie są stosowane niewidzialnie dla programisty/użytkownika.
  Forum: PHP · Podgląd postu: #550049 · Odpowiedzi: 26 · Wyświetleń: 2 663

Riklaunim
Napisane: 21.12.2008, 20:11:46





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Cytat(l0ud @ 21.12.2008, 21:33:34 ) *
Wg mnie, o ile logika ogranicza się do wyświetlania, nie ma żadnego problemu. Zawsze można np. do klasy view dopisać metody pomocnicze, np. cycle(), co umożliwi np. takie coś:

Po pobieżnej analizie przykładów z dokumentacji szablonów Django nie widzę żadnych istotnych korzyści (prócz minimalnym uproszczeniem zapisu) z dołączania dodatkowego kodu typu Calypso. Ale jak kto woli smile.gif Ja tam polecam wg. mnie najprostsze rozwiązanie, czyli 'bezpośrednie' stosowanie PHP - bo przecież po to ono jest? smile.gif


Kod
<?php } ?>

Ładnie to nie wygląda, front-end designer zapewne coś pokopie w tego typu znacznikach... plus jak tego trochę zagnieździsz to będzie jeszcze gorzej. Przydają się też takie funkcjonalności jak dziedziczenie szablonów, obsługa bloków itd. I nie należy zakładać że programista posłucha się ciebie żeby nie wrzucać do szablonu logiki. Jeżeli może - to to zrobi. Swego czasu używałem CI, teraz używam Django i nie mam najmniejszej ochoty ponownie stosować "szablony" zawierające w sobie język skryptowy plus z brakiem funkcjonalności typowych szablonów.


Cytat(akurczyk @ 21.12.2008, 21:44:27 ) *
W przypadku zalogowania, w skrypcie zamieniam niezalogowany na "nic", a zalogowany na zalogowany bez {zalogowany}{/zalogowany}. Jak wywalić te tagi {zalogowany}{/niezalogowany}, tak aby to co jest po między nimi zostąło nienaruszone??

Tworzenie statycznych bloków nie jest zbyt elastyczne ({zalogowany}{/zalogowany}, czy {wiadomości}{/wiadomości}), bo to trochę ogranicza elastyczność parsera. W Django wygląda to ogólnie tak:
Kod
{% if user %}
Witaj {{ user }}
{% else %}
Witaj nieznajomy
{% endif %}

Gdzie za logikę szablonu odpowiada warunek IF wykonany na zmiennej przekazanej do szablonu z widoku.
  Forum: PHP · Podgląd postu: #549982 · Odpowiedzi: 26 · Wyświetleń: 2 663

Riklaunim
Napisane: 21.12.2008, 19:28:38





Grupa: Zarejestrowani
Postów: 640
Dołączył: 8.02.2004

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

Duży ruch ci raczej nie grozi, więc i trudno mówić o wydajności danego rozwiązania. Operacje na długich łańcuchach mogą trochę zajmować, ale ogólnie większym "problemem" wydajnościowym będzie pobieranie danych - np. z bazy danych.
  Forum: PHP · Podgląd postu: #549972 · Odpowiedzi: 26 · Wyświetleń: 2 663

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: 28.03.2024 - 18:08