Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Dатаpod za PHP

DOWNLOAD
Dатаpod za PHP - Verzija 0.10.00
"Smooth-Site-Version stvaranje”
Proces stvaranja ItemTypes postalo je veoma unapređeno tako da u osnovi samo treba da se ubaci u šemu i tekst i odmah možete da pretražujete, izaberete, pregledate i skup za stranicu koje su prikazane javnosti ili vidljive samo određenim grupama. Zatim možete da izmenite dve metode displaySummaryWithLink() i displaySingle() u jednini klase za tu ItemTypes i vaše stvari su potpuno prilagođene. Pošto su upiti i sortiranja dovoljni zajedno za većinu osnovnih potreba, stvaranje Datapod lokacije je samo pitanje definisanja svog ItemTypes, stvarajući stranice, biranjem stavki i prikazujući ih gde treba. 
Nајnovija Beta verzija:
Оvа vеrzija ima mnogo ispravki grešaka još iz Novembra 2011, plus lako je stvoriti jQuery/AJAX akcije, mogućnost da kreirate PDF fajlove, kao i mogućnost da kreirate slike u ImageMagick biblioteci.
Nove funkcije u verziji 0.10.00. funkcija:
    Sтаvke:
    Каdа кreirate ItemType, sva funkcionalnost je stvorena za vas po defoltu: AJAX pretraga na svim poljima, a podaci se semantički prikazuju na osnovu vrste podataka, tako da ako je polje tipa “isbn", onda on automatski ima vezu sa svojom Amazon stranom, a ako je polje tipa “zvezda”, automаtski se prikazuje sama kao grafička zvezda. Pored toga, postoji Displej sa linkom prikaz za svaki zapis koji vodi do displaySingle prikaza, sa linkovima ka svakom pojedinačnom zapisu. То znači da je odmah nakon kreiranja ItemType sa evidencijom, oni su vidljivi.
    Probajte:
    1. U Developer meniju, kliknite na Create Item Type
    2. Kоpirajte “book” ItemType primer teksta
    3. Nalepite ga u kutiju
    4. Kliknite na Create Item Type Now dugme
    Pogledajte:
    How to Create an ItemType
    Sтаvke:
    Ugradite You Tube video u SmartNotes
    U svakom tekstu koji je analiziran sa SmartNotes, sada možete staviti na kraju linije @@theyoutubeid i video će se pojaviti ugrađen ispod te linije u tekstu.
    Probajte:
    1. Kreirajte primer “Books” ItemType
    2. U "Head First Design Patterns" zapisniku, dodajte liniju Оvde je video dizajn obrazaca u Python-u: @@0vJJlVBVTFg
    3. Pogledajte zapis i video će se pojaviti
    Sтаvke:
    Izvoz i uvoz ItemTypes između Datapod sajtova
    Sada je moguće da delite ItemTypes između Datapod sajtova pomoću "Export ItemType" i "Import ItemType" u Developer meniju.
    Probajte:
    1. Kliknite na Export ItemType
    2. Izaberite ItemType za izvoz
    3. Zip fajl će biti kreiran
    4. Premestite zip fajl za uvoz na drugi Datapod sajt
    5. Na toj lokaciji, kliknete na “Import ItemTypes"
    6. Tip stavke će biti ponovo biti iz ItemTypes šeme, prilagođene metode će biti kopirane unazad u jednine i množine ItemType klase, sve slike koje pripadaju stavkama će biti kopirane
    Sтаvke:
    Pojednostavljen Izbor i Displej
    Nakon šro napravite ItemType sa stavkama, imate pojednostavljeni način da ih izaberete i prikazujete jednostavno koristeći metode biranja i displeja dostupnih u DatapodItem i DatapodItems klasama.
    Sтаvke:
    Inicijalizacija nove Stavke
    Каdа dоdate nove stavke svojim datotekama sa podacima, klikom na naslov vašeg Datapod sajta inicijalizovaćete te stavke, dajući im jedinstveni ID kod, дајете нове ставке своје датотеке са подацима, кликом na WhenCreated polje, a svako polje će biti označeno, tako da je ostatak podataka lakše dodati.
    Sтаvke:
    Dinamičke Osobine
    Sаdа моžete da definišete neku vrednost koja je u Extras polju i da joj pristupite sa preuzimačem. To znači da, ako je potrebno da brzo pratite neke vrste informacija o evidenciji, vi ne morate da ponovite stavku i dodate polje, samo dodajte podatke na stavke koje su vam potrebne, a vrednost za sve ostale stavke koje ne obuhvataju ovu oblast je prazna linija.
Nove metode dodate u Verziji 0.10.00:
    $datapodItem->getSmartImagePathAndFileName() Омоgućava vam da sačuvate slku sa imenom datoteke istim imenom kao i ID kod stavke, bilo u .jgp, .gif, ili .png u ItemTypes direktorijumu ili fascikli specifičnoj za taj ItemType. Ovo vam omogućava da koristite program za snimanje ekrana (npr. SnagIt) na kome ste definisali interventni taster koji štedi snimak ekrana od raznih vrsta artikala sve u jednom direktorijumu. Kada se ItemType izvozi, on uzima sve slike iz opšteg direktorijuma.
    Primer:
    $book dpod::select('book;selectWithIdCode(jqueryAction)');
    /* @var $book Book */
    $iconPathAndFileName $book->getSmartImagePathAndFileName();
    echo 
    '<p>'.$book->getTitle().'</p>';
    echo 
    '<img src ="'.$iconPathAndFileName.'"/>';

    //IMAGE CAN BE ANY OF THESE:
    //customImages\itemTypes\jqueryAction.jpg
    //customImages\itemTypes\jqueryAction.gif
    //customImages\itemTypes\jqueryAction.png 
    //customImages\itemTypes\books\jqueryAction.jpg
    //customImages\itemTypes\books\jqueryAction.gif
    //customImages\itemTypes\books\jqueryAction.png
    Rezultat:
    qfil::createZipFileFromDirectory() Омоgućava vam da prebacite bilo koji direktorijum u zip fajl. Koristi relativnu putanju i ime datoteke (direktno pod vašim web direktorijumu). Zipuje ga rekurzivno tako da će i poddirektorijumi takođe biti zipovani. Imajte na umu da direktorijumu koji su prazni neće biti kopirani u zip fajl.
    Primer:
    qfil::createZipFileFromDirectory('export/parseFiles.zip''export/parseFiles');
    Rezultat:
    qfil::unpackZipFile() Jednostavno raspakuje zipovani fajl u određeni direktorijum.
    Primer:
    qfil::unpackZipFile('export/parseFiles.zip''export/parseFiles');
    Rezultat:
    qdat::getTimeStamp() Vraća trenutno vreme/datum koje se koristi u prikazivanju generičkog vremena ukoliko se nešto dogodi.
    Primer:
    $timeStamp qdat::getTimeStamp();
    echo 
    '<p>Report was printed at '.$timeStamp.'.</p>';
    Rezultat:
    Report was printed at 2011-11-12 07:18:16.
    qsys::getIncomingVariable() Dobija POST promenljivu, ako nije dostupna, onda dobija GET promenljivu.
    Primer:
    $status qsys::getIncomingVariable('status');
    echo 
    '<p>status is "'.$status.'".</p>';
    Rezultat:
    qstr::getTranslation() Jednostavan način da sprovede multi-jezičke sajtove. Trenutno vam je potrebno da se obradi kod jezika ručno (zadržite sesiju itd).
    Primer:
    $message 'Please wait.@@LANG_DE:Bitte warten Sie.@@LANG_FR:Veuillez patienter s\'il vous plaﴮ';
    echo 
    '<p>'.qstr::getTranslation($message'fr').'</p>';
    echo 
    '<p>'.qstr::getTranslation($message'en').'</p>';
    echo 
    '<p>'.qstr::getTranslation($message'de').'</p>';
    echo 
    '<p>'.qstr::getTranslation($message'ru').'</p>';
    Rezultat:
    qpre::displayIconWithContentArea() Lаk način da se prikaže bilo šta (npr. stavka) na ekranu sa ikonom sa leve strane i sadržaja (npr. naslov prvog) sa desne strane, sve vrhunski opravdano itd. Takođe može zameniti CSS sa parametrima.
    Primer:
    $iconArea '<div ><img src="systemImages/general/iconPaper.png"/></div>';
    $iconArea .= '<div style="font-size:10pt">public</div>';
    $contentArea '<h3>Complex number</h3>';
    $contentArea .= 'A complex number is a number consisting of a real part and an imaginary part. Complex numbers extend
    the idea of the one-dimensional number line to the two-dimensional complex plane by using the number line for the real
    part and adding a vertical axis to plot the imaginary part. In this way the complex numbers contain the ordinary real 
    numbers while extending them in 
    order to solve problems that would be impossible with only real numbers.'
    ;

    echo 
    qpre::displayIconWithContentArea($iconArea$contentArea);
    Rezultat:
    qdat::getTimeStampForFileName() Vraća vremensku nisku koja se koristi npr. na kraju npr, kada izvozimo ItemType pečatira zip datoteku sa oznakom vremena kao lakši način da se pokaže poslato.
    Primer:
    $fileName 'backup_'.qdat::getTimeStampForFileName().'.zip';
    echo 
    '<p>'.$fileName.'</p>';
    Rezultat:
    backup_2011-11-11-04-01-43.zip
    qpre::displaySmartImage() Vraća HTML IMG element koji ima p unu adresu na sajtu, kao put, važno povezivanje za spoljne linkovane aplikacije npr. Facebook da zgrabi sličicu za postfajl.
    Primer:
    echo qpre::displaySmartImage('customImages/notice.png');
    Rezultat:
    $datapodItem->isMostRecent() Vraća aktuelno stavku u najnovija izdanja u setu množine u stavke koje su poslate.
    Primer:
    $books dpod::select('books');
    if (
    count($books->getItems()) > 0) {
        foreach (
    $books->getItems() as $book) {
            
    /* @var $book Book */
            
    $niceDateTime qdat::getNiceShortAmericanDayAndDateWithoutYearAndTime($book->getWhenCreated());
            if (
    $book->isMostRecent($books)) {
                echo 
    '<p style="font-weight:bold">' $marker $book->getTitle() . ' added at ' $niceDateTime '</p>';
            } else {
                echo 
    '<p>' $marker $book->getTitle() . ' added at ' $niceDateTime '</p>';
            }
        }
    }
    Rezultat:
    qstr::chopLeftLines() Uklanja niz sa leve grupe nizova.
    Primer:
    $fileNames[] = 'test1.txt';
    $fileNames[] = 'test2.txt';
    $fileNames[] = 'test3.txt';
    $fileNames[] = 'test4.txt';
    $simpleFileNames qstr::SchopLeftLines($fileNames'test');
    if (
    count($simpleFileNames) > 0) {
        foreach (
    $simpleFileNames as $simpleFileName) {
            echo 
    '<p>'.$simpleFileName.'</p>';
        }
    }
    Rezultat:
    qstr::chopRightLines() Uklanja niz sa desne grupe nizova.
    Primer:
    $fileNames[] = 'test1.txt';
    $fileNames[] = 'test2.txt';
    $fileNames[] = 'test3.txt';
    $fileNames[] = 'test4.txt';
    $fileNameIdCodes qstr::SchopRightLines($fileNames'.txt');
    if (
    count($fileNameIdCodes) > 0) {
        foreach (
    $fileNameIdCodes as $fileNameIdCode) {
            echo 
    '<p>'.$fileNameIdCode.'</p>';
        }
    }
    Rezultat:
    qsys::getCallingPageItemIdCode() Dobija ID kod stranice na kojoj je korisnik kliknuo da bi došao do trenutne stranice. Onda možete da iskoristite ovaj ID kod da biste dobili PageItem objekat kao što je prikazano u primeru.
    Primer:
    $callingPageIdCode qsys::getCallingPageItemIdCode();
    $pageItem dpod::select('pageItem;selectWithIdCode('.$callingPageIdCode.')');
    echo 
    '<p>'.$callingPageIdCode.'</p>';
    echo 
    '<p>You came from page "'.$pageItem->getTitle().'".</p>';
    Rezultat:
    switchLayout
    You came from page "Switch Layout".
    qstr::getLinesThatEndWith() Imajući u vidu niz linija (žica), vraća linije koje se završavaju određenim sufiksom. Npr. da dobiju sve putanja-i-fajl-imena koji se završavaju sa određenim produženjem.
    Primer:
    $lines[] = 'How to you upload a document in Google Docs?';
    $lines[] = 'MySQL Databases';
    $lines[] = 'How can you make an easy menu with jQuery?';
    $linse[] = 'JavaScript: The Good Parts';

    $questions qstr::getLinesThatEndWith($lines'?');
    if (
    count($questions) > 0) {
        foreach (
    $questions as $question) {
            echo 
    '<p>'.$question.'</p>';
        }
    }
    Rezultat:
    How to you upload a document in Google Docs?
    How can you make an easy menu with jQuery?
    qsys::getSiteIsOnline() Vraća se bilo da je sajt online (otpremi na web hosting i live) ili ne. Ovo vam omogućava da, npr. napravite rezervnu kopiju kada se neko prijavi, ali samo kada je sajt uživo na serveru, ali ne i kada radi lokalno (а samim tim se koristi ne produktivno)
    Primer:
    if(qsys::getSiteIsOnline()) {
        
    qfil::createZipFileFromDirectory('backups/backup'.qdat::getTimeStampForFileName().'.zip''userData');
    }
    Rezultat:
    (this would zip the directory "userData" into the zip file, but only be executed when the site is being accessed on the web hosting provider)
    qfil::copyDirectoryContents() Kopira se sadržaj jednog direktorijuma u sadržaj drugog, ako drugi ne postoji biće kreiran.
    Primer:
    qfil::copyDirectoryContents('import/import_files''import/import_files_parsed');
    Rezultat:
    qstr::getDuplicates() Vraća linije u niz koje su iste.
    Primer:
    $lines[] = 'How to you upload a document in Google Docs?';
    $lines[] = 'MySQL Databases';
    $lines[] = 'How can you make an easy menu with jQuery?';
    $lines[] = 'MySQL Databases';
    $lines[] = 'JavaScript: The Good Parts';
    $lines[] = 'How can you make an easy menu with jQuery?';

    echo 
    '<h3>In this list:</h3>';
    if (
    count($lines) > 0) {
        foreach (
    $lines as $line) {
            echo 
    '<p>'.$line.'</p>';
        }
    }

    echo 
    '<h3>These are duplicates:</h3>';
    $duplicates qstr::getDuplicates($lines);
    if (
    count($duplicates) > 0) {
        foreach (
    $duplicates as $duplicate) {
            echo 
    '<p>'.$duplicate.'</p>';
        }
    }
    Rezultat:
    $smartUrl->getQueryVariableValue() smartUrl klasa sada ima metod da nađe vrednost jedne URL promenljive.
    Primer:
    $smartUrl SmartUrl::createWithUrl('https://www.google.com/search?q=kahn+math&ie=utf-8');
    /* @var $smartUrl SmartUrl */
    $searchWordList $smartUrl->getQueryVariableValue('q');
    echo 
    '<p>'.$searchWordList.'</p>';
    Rezultat:
    kahn+math
    qstr::getFileNameFromUrl() Vraća ime datoteke iz URL.
    Primer:
    $fileName qstr::getFileNameFromUrl('http://www.tanguay.info/dpphp/index.php?pageItem=switchLayout');
    echo 
    '<p>'.$fileName.'</p>';
    Rezultat:
    index.php
    qfil::getFileNameFromRelativePathAndFileName() Dobija ime datoteke sa putanja-i-fajl-imena linije. Često koristite ovo nakon što se niz putanja-i-fajl-imena iz imenika, а zatim npr želite da prikažete samo fajlove imena na neki način.
    Primer:
    $pathAndFileNames qfil::getRelativePathAndFileNamesInDirectoryRecursive('import/import_files');
    if (
    count($pathAndFileNames) > 0) {
        foreach (
    $pathAndFileNames as $pathAndFileName) {
            
    $fileName qfil::getFileNameFromRelativePathAndFileName($pathAndFileName);
            echo 
    '<p>'.$pathAndFileName.' (<b>'.$fileName.'</b>)</p>';
        }
    }
    Rezultat:
    qfil::getIdCodeFromFilePathAndName() Vraća “neproduženi” deo naziva datoteke u putanja-i-fajl-imena. ID kod se koristi npr. da učita sliku sličnog imena iz drugog direktorijuma konvencijom.
    Primer:
    $pathAndFileNames qfil::getRelativePathAndFileNamesInDirectoryRecursive('import/import_files');
    if (
    count($pathAndFileNames) > 0) {
        foreach (
    $pathAndFileNames as $pathAndFileName) {
            
    $fileIdCode qfil::getIdCodeFromFilePathAndName($pathAndFileName);
            
    $imagePathAndFileName 'customImages/importImages/'.$fileIdCode.'.png';
            
    $fileName qfil::getFileNameFromRelativePathAndFileName($pathAndFileName);
            echo 
    '<p>for <b>'.$fileName.'</b> we will display this image: <b>'.$imagePathAndFileName.'</b></p>';
        }
    }
    Rezultat:
    qfil::getFileNamesInDirectoryRecursive() Dobija imena fajlova (npr. "first.png") iz određenog direktorijuma. Npr. ako želite da proverite da ne postoje duplikati fajlova u složenim strukturama direktorijuma
    Primer:
    $imageFileNames qfil::getFileNamesInDirectoryRecursive('customImages/layouts/datapodForPhp''png,gif');
    if (
    count($imageFileNames) > 0) {
        foreach (
    $imageFileNames as $imageFileName) {
            echo 
    '<p>'.$imageFileName.'</p>';
        }
    }
    Rezultat:
Nove Kod Konvencije u Verziji 0.10.00:
  • Ime objekta varijable posle klasa: svi objekti varijable treba da budu imenovani kao camelcase ekvivalenti svojim odeljenjima npr. $smartUrl = new SmartUrl() osim za $item može biti tipa DatapodItem i $items mogu biti tipa DatapodItem
  • $record/$itemRecord: $record = asocijativni red (npr. $record['firstName'] = "Jim", $record['lastName'] = "Smith") iako je $itemRecord isti kao $record, ali odgovara na njegova polja jedan-na-jedan sa ItemType.
  • $sql/$sqlStatement: $sql = SQL linije, npr. "INSERT INTO dpod_site_..." ali $sqlStatement je SqlStatement objekat koji gradi npr. SQL linije ($sql).
  • Iме оbjekta na kraju: Uvek stavite ime objekta na kraju, npr. $processedPathAndFileNames (ne $pathAndFileNamesToBeProcessed) npr. za/sledeće petlje.
  • Konvencije: graditi... () i dobiti... (): kod imenovanja metoda, koristite prefiks “get” ako se vraćaju vrednosti i prefiks “build” ili “defiine”. Ako postavljate vrednost interne varijable, “build” označava više uključeni proces od “define”.
  • Коrišćenje reči “ItemType”: kada se odnosi na ItemType, koristite reč “ItemType” u tekstu, a ne “itemtype” ili “item type”.
Nova Česta pitanja dodata u Verziji 0.10.00:
  • Šta je svrha qtools-a? Zašto praviti toliko statičke funkcije koje rade jednostavne zadatke, kao što su qstr::isEmpty() i qstr::getAreEqual() itd? Jer na kraju svi qtools (Quick Tools) će biti dostupni u interfejsu putem pojednostavljenog script jezika. Pored toga, datapod implementacija na drugim jezicima (Javascript, ASP.NET MVC, itd) će koristiti iste qtools, tako da će biti lakše da prelazite Datapod okvire bez obzira na bazu tehnologije koju koristite.
  • Како dа dodate zapise napravite jedinstvenim? Kada dodam zapise u tekstualnoj datoteci oni nemaju ID kod, kao drugi zapisi u fajlu. Како da nateram Datapod da automatski doda ovo? Каdа ste prijavljeni kao programer, ako kliknete na ime sajta, on će izvršiti datoteku update.php koja će ići kroz sve tekstualne datoteke i dodeliti ID kod i "whenCreated" vremenski pečat za svaki novi zapis.
Dokumentacija dodata u Verziji 0.10.00:
  • Rаzlika između “interface developer" i "code developer": Programer interfejsa je neko ko kreira sajt sa Datapod ali nikad ne bi napisao “ako izjavu” ili otvorio editor koda, kao što je NetBeans ili Eclipse. Тrenutna verzija Datapod-a samo ima početke funkcionalnosti za programera interfejsa, npr. možete da kreirate stranicu, ali u cilju da izmenite sadržaj stranice ili promenite ko vidi stranicu, morate da otvorite najmanje tekst urednika i promenite određene datoteke. Takođe, možete da kreirate ItemTypes kroz Datapod Interface (na Developer meniju), ali da izmenite kako oni izgledaju, morate da promenite šifru. Каko Datapod napreduje, sve više i više funkcionalnosti će biti premešteno iz Programerskog koda u Programerski Interfejs (uglavnom izabrati i prikazivati metode).
  • "Select Methods" i "Display Methods": “Select methods” se koristi za upit ItemType za određene stavke. Možete misliti o njima kao uskladištene procedure. “Display method” vraća HTML. Osnovni pristup kreiranja sadržaja na Datapod sajtu je da (1) koristite Select Methods da dobijete određeni broj (i poredak) stavki, zatim (2) Display Methods da biste prikazali ovo u HTML-u.
Nova Terminologija u Verziji 0.10.00:
  • lista: "Lista” je razdvojena zarezima lista ID kod vrednosti npr. jpg,gif,png.
  • Deo: "Deо" je "dео nizaа", npr. vrlo često u Datapod-u razbijate “listu” vrednosti, kao što su jpg,gif,png u zajednički niz. $parts = qstr::breakIntoParts($extensionList, ',')
 
 
Published (Last edited): 24-03-2013 , source: http://www.tanguay.info/dpphp/