Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabawa w PHP - Tworzymy skrypt worm-art :)
Forum PHP.pl > Inne > Hydepark
ixpack
Jak w temacie... Zabawa polegająca na stworzeniu skryptu przez NAS!
  • Przy tworzeniu skryptu należy kożystać z metody "doklejania wink.gif". Każdy z członków forum.php.pl może dokleić jedną linijkę kodu na raz. [EDIT] Poprawka - można dokleić kawałek kodu, np. całą funkcję biggrin.gif[/EDIT]
  • Każda część kodu (linijka lub komentarz, część komentarza) musi być "pokolorowana" odpowiednim kolorowaniem składni... PHP w znaczniki php etc.
  • Członek następnie musi poczekać, aż ktoś inny wklei kolejną linijkę kodu... Proste nie? Taki wormart, tylko że w PHP ;D wormart
  • Każdy musi pełnić rolę kontrolera/parsera naszego kodu... W wypadku wyśledzenia błędu cytuje błędną grupę postów, "krzyczy" Error... I poprawia błędy.
  • Każdy może też podmienić wpis poprzednika, krzycząc "SWAP" wink.gif Kolejna osoba decyduje czy akceptuje "SWAP"
  • Ktoś chętny może zebrać stworzony kod i dokleić go w całości - Musi na początku swojego wpisu krzyknąć "SAVE" wink.gif - kod musi jednak być w całości lub w linku np. do github'a etc.
  • Tworzymy tylko jeden plik, ale kto wie co z tego wyjdzie, może wprowadzimy kolejną zasadę, która normować będzie "używanie określonego pliku"...


Stworzę prosty skrypt, moi userzy to a, b, c:
a:
  1. <?php

b:
  1. echo 'Hello World!';

c:
  1. ?>


Nota: c mógłby krzyknąć "ERROR", zacytować pana b, a następnie wstawić lepszą wersję linijki kodu pana b, np.:
SWAP
Cytat(b)
  1. echo 'Hello World!';


  1. /**
  2.  * Komentarze nie muszą mieścić się jednej linijce
  3.  * Cały komentarz traktowany jest jako 1 linijka kodu - warto zapamiętać
  4.  * Jednym wyjątkiem w komentarzach są specjalne (dyrektywy? nie wiem jak to nazwać - ixpack) np. @author: forum.php.pl


I teraz kolejny user, np. a mógłby dokleić:
SWAP OK
  1. * Kolejne linie komentarza...
  2. *do jego zamknięcia (pan c nie zakończył, ponieważ użył @author - ixpack)
  3. */


Całość skryptu to:
  1. <?php
  2. /**
  3.  * Komentarze nie muszą mieścić się jednej linijce
  4.  * Cały komentarz traktowany jest jako 1 linijka kodu - warto zapamiętać
  5.  * Jednym wyjątkiem w komentarzach są specjalne np. @author: forum.php.pl
  6.  * Kolejne linie komentarza...
  7.  * Aż do jego zamknięcia
  8.  */
  9. ?>


Mam nadzieję, że rozumiecie i macie ochotę na zabawę... Można stworzyć coś fajnego wink.gif Albo coś na prawdę głupiego... Zależy to od nas ;D
Pozwólcie, że rozpocznę... biggrin.gif
  1. <?php


Ale się namęczyłem wink.gif Jak widać to co teraz czytasz nie należy do kodu wormart'a... Nikt nie mówi, że nie można objaśnić części swojego kodu właśnie tu, bez cytatu etc. smile.gif
phpion

tongue.gif
Hpsi
Cytat(phpion @ 8.06.2011, 07:55:21 ) *

Nie ma to jak zakończyć zabawę zanim się zaczęła ... =]
ixpack
SWAP
Cytat(phpion @ 8.06.2011, 07:55:21 ) *


  1. /**
  2.  * @autor: forum.php.pl


Można naprawić zło Harrego Pottera tongue.gif
erix
Jakie exit? tongue.gif
  1. __halt_compiler();

snitch.gif

A tak btw, to autor wątku chyba się nudzi. tongue.gif
ixpack
Jesteście zbyt dorośli... [Edit: To nie jest komplement =]. Powaga zabija - powoli...]
Szkoda.
Hpsi
Cytat(ixpack @ 8.06.2011, 07:38:19 ) *
Jesteście zbyt dorośli... [Edit: To nie jest komplement =]. Powaga zabija - powoli...]
Szkoda.

Jup zgodzę się, mogłoby wyjść coś ciekawego z tej zabawy, jednak trzeba by bylo specyzować w jakim kierunku "coś tworzymy"

Co do tematu : jestem pelen podziwu ze chciało Ci się to wymyśleć wink.gif
ixpack
Cytat(Hpsi+ @ 8.06.2011, 09:01:06 ) *
Co do tematu : jestem pelen podziwu ze chciało Ci się to wymyśleć ;)


Dzięki smile.gif. Wczoraj wieczorkiem na to wpadłem, kolega grafik pracował nad kawałkiem worm-art'a, wydawało mi się to świetnym ćwiczeniem działającym na wyobraźnię, na poprawę "skilla". Zabawne, że koderzy takiego czegoś nie robią sad.gif. Już wiem dlaczego... Stres, gonitwa za deadlinem, nie mamy czasu się na chwilę zatrzymać. Ja dziś wziąłem wolne (wczoraj męczyłem się w pracy nie wiedząc co począć) - czas odpocząć ;D. Pogram sobie, zajaram sobie i jutro będę jak młody bóg =]
Hpsi
Cytat(ixpack @ 8.06.2011, 08:21:04 ) *
Zabawne, że koderzy takiego czegoś nie robią sad.gif. Już wiem dlaczego... Stres, gonitwa za deadlinem, nie mamy czasu się na chwilę zatrzymać.

Ano to jest problem ja widze sam po sobie 3 deathliny na najbliższy poniedzałek + praca inż na sobote (której stan pracy jest opisany w moim innym poście... zaczłem dopiero nad nią myśleć ^^
Cytat(ixpack @ 8.06.2011, 08:21:04 ) *
Ja dziś wziąłem wolne (wczoraj męczyłem się w pracy nie wiedząc co począć) - czas odpocząć ;D.

Wolne? a co to takiego ^^?
Cytat(ixpack @ 8.06.2011, 08:21:04 ) *
Pogram sobie, zajaram sobie i jutro będę jak młody bóg =].

Powodzenia, ale nie szalej zamocno bo pozniej możesz miec problem z funkcja dziedziczenia ... ;-)
ixpack
SWAP
Cytat(erix @ 8.06.2011, 08:24:56 ) *
  1. __halt_compiler();


  1. * Tworzymy stronkę/skrypcik, który będzie działał jako builder worm-art'a dla koderów...
  2. * Musimy mieć GUI - aby wprowadzić kod
  3. * Kilka przycisków od wywołania komend np. SWAP ;)
  4. * System komentarzy
  5. * System zarządzania uprawnieniami, podział na grupy
  6. * Podział na pliki i kategorie, więc każdy będzie mógł dopisywać do pliku X, grafik będzie mógł dodać fotkę...
  7. * Kontoler, który sprawdzi poprawność części kodu, całego kodu po doklejeniu
  8. * Emulator, który wyświetli to, co powstało po doklejaniu kodu
  9. */


A tam nie poddaję się... Mam nadzieję, że ktoś do mnie dołączy... A Ci, którym nie podoba się zabawa nie muszą nic tu pisać smile.gif

SAVE

  1. <?php
  2. /**
  3.  * @autor: forum.php.pl
  4.  * Tworzymy stronkę/skrypcik, który będzie działał jako builder worm-art'a dla koderów...
  5.  * Musimy mieć GUI - aby wprowadzić kod
  6.  * Kilka przycisków od wywołania komend np. SWAP ;)
  7.  * System komentarzy
  8.  * System zarządzania uprawnieniami, podział na grupy
  9.  * Podział na pliki i kategorie, więc każdy będzie mógł dopisywać do pliku X, grafik będzie mógł dodać fotkę...
  10.  * Kontoler, który sprawdzi poprawność części kodu, całego kodu po doklejeniu
  11.  * Emulator, który wyświetli to, co powstało po doklejaniu kodu
  12.  */


I niech mi ktoś powie, że to nie jest ciekawy projekt... wink.gif Zmieniłem trochę zasady... Bo jedna linijka kodu to nic... Więc można dopisać znaczny kawałek, np. całą funkcję, klasę ;]
ylk
  1. class WormArt {
picios
przeca bez debugera ani rusz. Od tego zaczyna się większość aplikacji wink.gif
  1. public function debug($var = false, $dieAfter = true, $showHtml = false) {
  2. echo "\n<pre style=\"background:#000; color:#89bf8b; font:11px/12px 'curier new', monospace;text-align:left; padding:10px;\">\n";
  3.  
  4. $calledFrom = debug_backtrace();
  5. echo '<p style="font-size:18px;">DebugSystem: <strong>' . str_replace(BASE_URL, '', $calledFrom[0]['file']) . '</strong>';
  6. echo ' (line <strong>' . $calledFrom[0]['line'] . '</strong>)</p>';
  7.  
  8. $var = print_r($var, true);
  9. if ($showHtml) {
  10. $var = str_replace('<', '&lt;', str_replace('>', '&gt;', $var));
  11. }
  12. echo $var . "\n</pre>\n";
  13.  
  14. if ($dieAfter)
  15. die();
  16. }
  17. }
erix
I Ty to nazywasz debuggerem? tongue.gif
everth
var_dump() w php. Wiedziałem że ktoś to w końcu przeportuje.
bim2
Problem będzie taki, że grafik nie musi opierać się na kogoś funkcjach założeniu, tylko zaczać początek. A mi np. ten "debuger" wymawiając na głos nie może przejść przez gardło (nie będę kłamał i nazywał czegoś nie takim jakim jest).

Nie uda się to. Jestem sceptyczny, zgorzkniały i nie mam wiary. Ale moim zdaniem bardzo ciężko będzie stworzyć coś fajnego, większego pracując jakby w grupie gdzie każdy dopisuje co chce. To tak jakby ten wormart miał być komiksem, też takie coś ciężko stworzyć a i tak łatwiej niż program.
ixpack
To sobie wczoraj poszalałem...

@bim2 to jest MEGA trudne i tylko najlepiej myślący, z WIELKĄ wyobraźnią ludzie mogą coś takiego zrobić... Ale jest takie powiedzenie "coś jest nie do zrobienia, aż jakiś debil przyjdzie i to zrobi wink.gif".

Nieźle, że w ogóle się ktoś zainteresował, debuger zawsze można zmienić, rozbudować, wiem że większoć będzie tylko narzekać... @erix - "szydzisz", że tak to ujmę z debugera - popraw biggrin.gif. Teraz siedzę w pracy, ale znajdę czas to wrzucę coś do zarządzania danymi wink.gif prototyp (wczoraj nakreśliłem, ale byłem najarany i sam nie wiem o co w kodzie chodzi - dzięki Bogu tu tego wczoraj nie wkleiłem...).

Spójrzcie na to okiem wyobraźni.
erix
Cytat
@erix - "szydzisz", że tak to ujmę z debugera - popraw

Bo to nie jest debugger. Postawisz tym czymś breakpointa? Nie sądzę.
ixpack
Cytat(erix @ 9.06.2011, 17:50:23 ) *
Bo to nie jest debugger. Postawisz tym czymś breakpointa? Nie sądzę.


To pokaż jak Ty byś to zrobił. Gadać każdy potrafi... Ja nie wiem jak zrobić debugger, wcale bym od niego nie zaczynał, nie mam na tyle doświadczenia za pewne. Dzięki temu, że wstawiłbyś coś fajnego wielu by się czegoś nauczyło. A chyba po to jest to forum?
bim2
Ja wam życzę powodzenia, tym którzy będą chcieli coś robić. Ale tak jak wormart nie ma postawionego celu i jest to sztuka dla sztuki, tak nie widzę co miałoby w php powstać. Program ma rozwiązywać jakiś problem a nie ładnie wyglądać.
ShadowD
Może zamiast doklejania kolejnej linii każdy będzie mógł edytować kawałek kodu? Ograniczony np. do jednej funkcji, zachowując wsteczną .... wyleciało mi słowo z głowy. haha.gif Całość postawić na jakiejś wiki. Bo jak widzę, to jeśli dopiszę teraz coś to debuger'a już nikt nie ruszy, a każdy będzie narzekać potem.
Fifi209
Cytat(ixpack @ 9.06.2011, 14:30:30 ) *
Ale jest takie powiedzenie "coś jest nie do zrobienia, aż jakiś debil przyjdzie i to zrobi wink.gif".

Raczej: Coś jest niemożliwe do czasu... gdy przyjdzie ktoś kto nie wie że jest to niemożliwe i to zrobi
erix
Cytat
To pokaż jak Ty byś to zrobił. Gadać każdy potrafi... Ja nie wiem jak zrobić debugger, wcale bym od niego nie zaczynał, nie mam na tyle doświadczenia za pewne.

Ja w ogóle nie będę robił, bo w PHP czystym się nie da. Do tego jest potrzebne rozszerzenie. To, co jest powyżej, to najwyżej nakładka na var_dump

Chyba żeby kombinować z register_tick_function, ale to nadal nie jest debugger. tongue.gif
ixpack
Ok Macie poniekąd rację - wormart to sztuka dla sztuki, w PHP też da się to zrobić. Prawda, za trudny temat obrałem... Program do tworzenia wormarta... To tak jak robić lustro w lustrze w lustrze... wink.gif. Zobaczcie, że jednak ludzie radzą sobie - jak działa system kontroli wersji? Każdy "dokleja" coś od siebie, co prawda mały team, jest projekt manager, jest plan etc. Ale moim zdaniem da się to zrobić... Ale forum jest przeszkodą - łatwo się zgubić, poplątać i zamiast Godzilli wychodzi potwór spagetti sad.gif. Mamy za małe mózgi i nie możemy tego ogarnąć wink.gif.
Jedynym rozwiązaniem będzie prowadzenie tego jak ktoś wspomniał np. na wiki - albo co lepiej np. githubie lekko podrasowanym. Tu raczej się tego nie da zrobić...
Zakasam rękawy i piszę w wolnych chwilach takie "coś", co pozwoli takiego wormarta tworzyć przez wszystkich - sztuka dla sztuki i dla nauki smile.gif. Jedynym problemem jest "sprawdzanie" czy w dopisanym programie nie ma "hacka" - raczej nie do obejścia. Jeżeli każdy będzie mógł edytować program do momentu jego zamknięcia, to może zostawić dla siebie jakąś furtkę. O ile bezpośrednia próba złamania kodu jest do wykrycia (np. używając 3 serwerów, 1szy to nasz kontroler, GUI, 2gi to zamknięte miejsce testów z tyloma kontami co ilość projektów, 3ci sprawdza jak odpowiada skrypt na 2gim serwerze. Jeżeli w odpowiedni sposób, to kod jest bezpieczny - To jest potrzebne do "podejrzenia na żywo, co robi skrypt"). To jest dopiero True Open Source =]

Ps. Debugera nie będzie. Na razie.

Proszę o zamknięcie tematu... Może wróci za rok do działu "oceny".

Pozdr.
phpion
Czułem, że to nie wypali, dlatego pozwoliłem sobie od razu trzasnąć exit smile.gif hehe.
ixpack
Cytat(phpion @ 10.06.2011, 08:29:01 ) *
Czułem, że to nie wypali, dlatego pozwoliłem sobie od razu trzasnąć exit smile.gif hehe.


To ja pozwolę sobie zacytować słynny, niesłychany, cudowny tekst... "Oj tam oj tam" =]
mongodb
  1. while(true) ;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.