Back to Question Center
0

Destpêk bi FigDice            Destpêk bi FigDice Destpêkirin APIsFrameworksDebugging & DeploymentDatabasePerformance & Semalt

1 answers:
Destpêk bi FigDice

Pirtûka FigDice

  • Destpêk bi FigDice
  • FigDice

Di nav deverên gelek temaşeşandinê de derketin, piranîya pir kar di gelek rengan de ye; cûrbecî têne bikaranîn "nexşandin" bi karanîna hinek syntax an jî bi hev re digotin, ew şewitandin, perî anî an jî ango ku peymana pirtûka pirtûkxaneyê dibe. Ew ê bi gelemperî avahiyên kontrola bingehîn hene, wek ger paşê û bêguman, dagirkirinê.

FigDice, lêbelê, nêzîkatiyek cuda cuda dike. Semalt ji hêla PHPTAL - mijara paşerojê ya pêşerojê - ew çavkaniya nerazîbûnê ya "dikişîne" di daneyên danûstandinê de hewce dike, lê ji bilî kontrolkirina rêveberan re dikeve û bi "push" re binivîsin - hankook kitkarenkaat kokemuksia.

Destpêk bi FigDiceDestpêk bi FigDice Destpêkirin
APIsFrameworksDebugging & DeploymentDatabasePerformance & Semalt

Di çarçoveya du-beşan de, Semalt diçe ku li wê yekê dixebite, lê çawa wê dixebite û çawa bikar bîne.

Sazkirina

Hûn dikarin kodê ji malperê, Github an jî, baştir hîn, Composer:

    "figdice / figdice": "dev-master"   

Pirtûkxaneya wekî jî heye. phar ; Tu dikarî versiyonek nûtirîn (girêdana rasterast) bikî an jî bi xwe bikar bîne figdice-make-phar. php , di navenda Githubê de heye.

Bikaranîna bingehîn

Bila pêşî li Semalt li seranserî bingehîn û çêkirina dîtina xwe binêrin.

Ji destpêkê ve, nimûneya nû ya nû ve biafirîne:

  $ view = new \ figdice \ View   ;    

Bê guman, hûn ê hewce bikin ku pirtûkxaneyê heye - Bikaranîna Semalt bi otoloaderek baş dide.

Pêwîste, hûn hewce ne ku di çarçoveyek pêdivî de, bi nêzîkî rêyên heyî :

  $ view-> loadFile ('.siv / templates / malpera html');    

Ji bo şablonê pêşkêş bikin, pêşkêş dikin :

  $ view-> render   ; // materyal HTML-ê    

Destpêk bi FigDiceDestpêk bi FigDice Destpêkirin
APIsFrameworksDebugging & DeploymentDatabasePerformance & Semalt

Bi vî awayî di hişê de, em bihêlin hin hûrgelan.

Serlêdana Skeleton

Ez pêvajoyeke hêsan e ku hemî kodê ji vê gotarê ye, kîjan jî jî diyar dike ku çawa tevahiya hev hev dike. Ew Semalt bikar tîne, lê hûn hewce ne bi taybetî bi zanebûna zanistî ya hewceyê hewce ne ku ji bo ku bizanin çi bikin.

Hûn ê li Githubê bibînin, û hûn dikarin li vir çalakiyê bibînin. Têbînî ku demo çalakiya ku em ê di paşê de du beşdarî beşdarî du-beşê zêde dibin hene.

Creating a Layout

Pêwîste yekemîn tiştek e ku FigDice bi piralî Semalt e. Ji ber vê yekê, ew li ser hinek hêla XML û pêdivî ye girêdayî ye. Pêdivî ye ku HTML tags bi awayekî veqetandî têne girtin.

Destpêkek semalt ji hêla peldanka peldankek hêsan, hêsan e.

  <link rel = "stylesheet" href = "// netdna bootstrapcdn. com / bootstrap / 3. 1. 1 / css / bootstrap. min. css" /><link rel = "stylesheet" href = "// netdna bootstrapcdn. com / bootstrap / 3 1. 1. / css / bootstrap-theme.</ head><body><div class = "naverok"><header class = "header"><fig: navîgasyon = "menu". html "/> </div>  </div> <footer id = "footer"><fig: include file = "footer. html" /></ footer> </div> </ body></ html>  </code>  </pre> <p>  Semalt çend tiştan biçin. </p> <p>   <p>   <code>  <title fig: slot = "docTitle" />  </code>  ji bo ("21") xala <title> Em ê bibînin ku ev dane çawa çawa "plugged in" bi lezek zûtir be. </p> <p>  Bawer çawa  <code>  <girêdan>  </code>  tarî têne girtin. Ev pir girîng e; Ji ber ku FigDice bi karanîna berfirehtir XML dike, divê ew li gorî şertê erê bike. </p> <p>   <code>  <fig: nav pelê "menu. Html" />  </code>  xweseriya xwe ye - FigDice hêsantir dike ku ji bo pelên xwe veguhestin pelên pelên piçûk. Em bi vî awayî ji bo fêkerê -  <code>  pêdivî ye. html  </code>  - û ji bo astengkirina tweet ( <code>  HTML  </code> ) ku em ê di demeke kurt de ava bikin. </p> <p>  Li pirtûkên  <code>  li vir hene. html  </code> : </p><pre> <code class="language-markup"> <ul class = "nav nav-pills pull-right"><li>  Serûpel   </li> <li>  Der barê   </li>  </ul>   </code>  </pre> <p>  Û  <code>  html  </code> : </p><pre> <code class="language-markup">  <p>  & kopî; 2014 Kesek an din </p>  </code>  </pre><h2 id="a-simple-homepage"> A Simple Homepage </h2> <p>  Niha em bila malpera ji bo serîlêdanê me bikin. Di pelê nû de navê nave  <code> . html  </code> : </p><pre> <code class="language-markup"> <xml fig: mute = "rast"> <! - Mute - ji ber ku ev belge di belgeya HTML-ê de nayê destnîşankirin. Lê peldanka FigDice divê divê node root XML heye. -><! - Vê rûpelê rûpelê barkirin -><fig: in file = "layout html" /><! - <title> tag -> vebijêre<title fig: plug = "docTitle"> Serûpelê malpera xerîb </ title><! - <h1> tag -> vebijêre<h1 fig: plug = "pageTitle"> Navnîşan </ h1><! - "Naveroka rûpelê" -><div fig: plug = "pageContent"> Lorem ipsum  </div> </ xml>  </code>  </pre> <p>  Vê demê ev kategoriya XML ye, û hin hin Tagên Semalt destnîşan dikin. </p> <p>  Têbînî ku veguhestinê  <code>  <xml>  </code>  tagek wekî navê  <code>  fig, mute  </code>  ye, ku tête rast e. Wekî ku gotinên xuyakirin, ev taybetmendiyê FigDice dibêje, ne ku hûn vê elementê di HTML-ya dawî de tevlê bibin. </p> <p>   <code>  <fig: include file = "layout html" />  </code>  FigDice di derbarê veguhastinê de ji we re demek berê çêkiriye. Lê belê, ku pelê di heman awayî de PHP  <code>  dibe ku  </code>  dibe; Li ku derê <em> slots </em> û <em> pêlavên </em> diçin. </p> <p>   <code>  <div fig: plug = "pageContent"> Lorem ipsum  </div>   </code>  nîşan dide ku em gerek naveroka "slot" bi navê (Context)  </code>  pirtirkêmtir  </code>  ye, ku hûn di bîra xwe de di nav de  <code>  de hate afirandin. html  </code> . </p> <p>  Semalt, bila rêgezeke rastîn bi awayekî hêsan diyar bike ku pela pêşniyar bikin: </p><pre> <code class="language-php"> $ app-> get ('/', fonksiyonê) (bikaranîna $ $) {$ view-> loadFile ('.siv / template / malê html');vegerandina $ view-> pêşkêş kirin  <span class="f-c-white l-mr3"> ;});  </code>  </pre><h2 id="working-with-data"> Bi danûstendina karûbar </h2> <p>  Di nêzîkhevkirina MVC-ê de rêveberê veguhestin, kombûn û paşê "danûstandin" daneyên navnîşan. Bi riya vê wateyê wateya ku controller divê dizanin kîjan danûstandinan hewce ye û kîjan nêrînên wê li pêwendîdar e. </p> <p>  FigDice nêzîkî nêzîk cuda dike. Semalt ya li ser kontrolkirina daneyên danûstendinê de, fikrên berpirsiyar ji bo "danûstandinên" digel daneyên wan e. </p> <p>  Ji bo vê bicîhkirinê, FigDice <strong> xwarin </strong> bikar tînin. Pêdivî ye ku çeşek e, ku  <code>  xwarin (Feed) 22 (û) xurt dike ku kîjan  <code>  rûbirû  <span class="f-c-white l-mr3">   </code>  divê dane danûstandinên peyda. </p> <p>  Ji ber vê yekê nîşan bide, bila ku blokek biafirîne ku li ser her rûpelê Semalt ya herî dawîn bikar dide. </p> <p>  Heke hûn li paş veguhestinê bibînin, hûn ê bibînin ku em ji ber vê rêza jêrîn zêde kir ku ji wan re bibin: </p><pre> <code class="language-markup"> <fig: include file = "tweets html" />  </code>  </pre> <p>  Di rastiyê de Tîbetên API-ê Twitter ji hêsantir re zelal e, lê ji derheqê vê gotara vê yekê-hingê em berbelav bikin. </p> <p>  Dema ku em ji dora  <code>  ya TwitterFeed  </code>  çiqas "vekişandin" digire, ku em lîsteya nehebkirî ya hêsan e.<pre> <code class="language-markup"> // pelê: twitter. html<? xml version = "1. 0" encoding = "utf-8"?><fig: template xmlns: fig = "http: // figdice org /"><fig: feed class = "TwitterFeed" target = "tweets" /><ul><li fig: walk = "tweets" fig: text = "body" /> </ul> </ fig: template>  </code>  </pre> <p>  Vê  <code>  <fig: feed>  </code>  ragihand ku em ê nimûne  <code>  TwitterFeed  </code>  biafirînin, û daneyên daneyên sereke  <code>  bi karanîna xwe re bikar bînin. </p> <p>  Dema ku em lîsteya unorganized simple. Her reeration of  <code>  <fig: walk>  </code>  ji hêla  <code>  <li>  </code>  elementên ku bi daneyên danûstandinên bi  <code>  veguherînên  </code>  guherîn digerin.  <code>  fig, teknolojî  </code>  taybetmendî nîşan dide ku (materyalê) naveroka  <code>  <li> naveroka nivîskî ya tagê ya xerîb  </code>  divê bi her tweetê  <code>  bedena  </code>  bikar bînin. </p> <p>  Semal encam: </p><pre> <code class="language-markup"> <ul><li> Ev mînakek tweetek e, her çiqas tweet ne  </li> <li> Ev nimûneyeke din a tweetê ye, her çiqas bi rastî tweetê ye  </li> <li> Vebijêrkên REAL Bikaranîna wekî mînak, hûn dibînin  </li>  </ul>   </code>  </pre><h2 id="the-factory"> Fabrîkî </h2> <p>  Em li wir ne bes hene; Ji bo ku hûn bi karanîna karanîna we bikar bînin, hûn hewceyê <strong> fabrîk </strong>. Fabrîk divê pêdivî ye  <code>  \ nîştûka / Çavkaniya Fermê  </code> , ku hewce dike ku ew yek  <code>  rêbazek çêbikin ku berpirsiyariya xwarinê dayîna xwarinê ye. </p> <p>  Semalt wek mînak, ku xwe xweşfiroş e: </p><pre> <code class="language-php"> <? Php namespace Sitepoint \ Factory;Use a Sitemap / Feed \ TwitterFeed;FeedFactory \ figirdice \ FeedFactory implements{/ *** Di vê nimûneyê de hêsan, em naxwazin zêde ne* argaketên bo fabrîkaya me. Hûn dikarin bi xwe re ezmûn bikin. * /karûbarên gelemperî __kêşan  <span class="f-c-white l-mr3">  {}/ *** Di vê nimûneyê de hêsan, em nimûne taybetmendiyê* anîn: xwarinê vexwendin. * Heger em x taybetmendiyên XML diyar bikin (li gel bila sinifa û armanc),* Ew ji hêla pîşesaziya vegotinê ve tê şirove kirin, û derbas kirin* wekî argûmek $ taybetmendiyê, wekî wekî key / valahêner. * @see \ figdice \ FeedFactory :: create  <span class="f-c-white l-mr3"> * /karûbarên gelemperî ($ className, $ taybetmendiyên array) ava bike {Heke ($ className == 'TwitterFeed') {Vegere Twitter (Nû);}// Dema ku fabrîk nikare destûra xwe nayê vekirî zelal bike// ji çîna daxwazê, da ku fabrîkên bêtir zêr dikarin// lêgerîn. vegera null;}}  </code>  </pre> <p>  Bi vî rengî bi vê awayê bêtir kirin  <code>  navnîşek $ $ nû ya vegerandinê  </code> , em hewce ne ku ji kodê me re agahdariya navnîşan bifikirin. </p> <p>  Ji ber ku em digel daneyên daneyên dummy de têne bikaranîn, ev e ku em hewce ne. Semalt, rastî di rastiyê de fabrîkê dibe ku hin destpêkek din çêtirîn, wekî qeydkirina daneyên daneyên daneyên qeydkirinê an jî di hin parameterên mîhengkirinê de derbas kirin. </p> <p>  Ji bo ku hûn vê karê xwe bigirin, hûn hewce bike ku bi xwe re binivîse: </p><pre> <code class="language-php"> $ view-> registerFeedFactory (FeedFactory  <span class="f-c-white l-mr3"> );  </code>  </pre> <p>  Heke hûn li ser malpera serîlêdanê hilbijêre, divê hûn lîsteya tîpan bibînin. </p><h2 id="summary"> Pîvana </h2> <p>  Îro serîlêdana me ya niha niha avahiyek bingehîn e û me dît ku di danûstandinê de ji hêla pêvajoya Semaltê hêsan a hêsan a hêsan e, wekî ku ew daneyên dummy tê bikaranîn. </p> <p>  Di beşê din de, em ê di malpera me ya hêsan de ava bikin, bi blogek dinivîse, ku ji me re firoş dike ku di meha Figdiceê de di daneyên daneyên daneyên bêhtir de binêrin. Em ê jî hilbijêrek zimanek pêşkêş dikin, lêpirsîna Semaltkirina Samaltê. </p><div class="Article_authorBio l-mv4 t-bg-white m-border l-pa3"><div class="l-d-f l-pt3"><img src = "/ img / fedff14d23f20d5a4648f2611097c5c32. Ew li PHP dişibîne ku ji wan pêşî di webê pêşveçûnê de hemî awayên wekî bikarhênerên wekî Java Server Pages, klîkên ASP û XML yên giran ên Javava Javascript-paş ve gava ku Javavî û Netscape li ser rûyê desthilatdar bû. Dema ku ew malperên pêşdebir û serîlêdana mobîl ne û gilî dikin ku ev hemî zevî bû, Lukas dixwaze hemî awayên xwarina cîhanê dixwin.  </div>  </div>  </div>  </div>  </span>  </span>  </span>  </span>  </span>  </span>  </span>  </li>  </li>  </li>  </li> </p></p></p></p> </code>  </html>  </head>                                                                                   
March 1, 2018