, angularjs og laravel: begynde at bygge en crm -,,,,, 30,,,,,,,, 36,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en række ringede til opbygning af en kunde forvaltning app ved hjælp af angularjs og laravel.angularjs og laravel: at bygge en crm, ved at skabe en enkelt side app, vi skal bruge en ramme til at gøre nogle af de job til os, så vi kan fokusere på den faktiske funktionalitet.angularjs passer her helt, fordi karakteristika som dynamiske afhængighed injektion og bidirektionelle data bindende er bare fantastisk.nogle gange har vi også brug for en slags server.hvis du har valgt på så laravel kan være det bedste valg, som det er let at arbejde med og meget magtfuld.,, indledningen, i denne lektion du vil skabe en enkelt kunde /transaktion management system med mulighed for at tilføje, og fjern begge transaktioner og kunder.det er sikkert ikke den slags ting, du gør så ofte, men det viser, hvordan vi kan bruge elementer af både rammer.,, før vi starter, du vil fælde en mysql database, som vi vil bruge (laravel støtter mange flere af dem, men det er stadig den mest populære).du har ikke brug for en webserver, da vi vil være ved hjælp af folkesundhedsprogrammet er indbygget en (men venligst huske på, at denne løsning er kun for udvikling og må aldrig anvendes i produktionen, - der mangler mange elementer, der er nødvendige for din app fungerer i det offentlige).så vi har brug for mindst php version 5.4.0.,, forberedelse, den første ting, vi skal gøre, er at installere laravel.hele processen er beskrevet på laravel websted.efter det, du skal have dit projekt register oprettet med alle laravel filer her.navigere til fortegnelse i din kommando linjen og køre denne kommando der:,, folkesundhedsprogrammet håndværker tjene, hvis alt går godt, du vil se, at den lokale udvikling - serveren blev påbegyndt, locahost: 8000.åbn din browser og navigere der, så skal du se laravel er velkommen side:,,,,,, så kan vi fortsætte med den faktiske anvendelse.,, migration og modeller, modeller i laravel er ligesom i enhver anden mvc rammer.det er efter sigende orm for at lette arbejdet for dig. - vil du sikkert aldrig nødt til at skrive en sql spørgsmål igen (medmindre du vil have noget, der bugnede ikke støtte).ved hjælp af migration kan du ændre database struktur med evnen til at spole ændringer, hvis noget går galt.du kan læse mere om migration i den dokumentation,.,, i vores app vil vi bruge to modeller:,,, kunderne, - vil holde kunden data, transaktion, - vil holde de oplysninger om transaktionen,,, lad os starte ved at skabe migration for dem.hvis du ikke allerede har gjort, lukker serveren ned vi startede tidligere (ctrl + c).,, kunder, påberåbe sig denne kommando:,, folkesundhedsprogrammet håndværker migrere: create_customers_table, vil det skabe en migration fil med en grundlæggende struktur for dig.nu navigere, app /database /migration.der bør være en fil med navn begynder med klokkeslættet og slutter med ", create_customers_table".laravel automatisk skabt den grundlæggende struktur for dig.det, up(), metode kaldes når migrationen er anvendt, og down(), når det er rullet tilbage.,, første indkaldelse, skema: create() metode.det tager to argumenter - schema navn og en callback - funktion:,, skema: skabe ('customers, funktion ($tabel) {,,, det bør gennemføres, når bordet er skabt.tabellen objekt er vedtaget som $tabel, variable, og at vi manipulerer bordet struktur, der bruger det.lad os tilføje en automatisk forøgelse, id, område:,, $tabel - > trin ('id), næste, vil der være tre snor områder for kundens navn, efternavn og e - mail:,, $tabel - > string ('first_name) $tabel - > string ('last_name) $tabel - > string ('email ') - > unique();, gør vi det, e - mail, område enestående ved at, unique(), metode på det. den sidste metode er for timestamps:,, $tabel - > timestamps();}), vil det skabe to date felter i skema:, created_at, og updated_at,.disse vil blive anvendt af veltalende opbevarer det tidspunkt, hvor posten blev skabt og opdateret. endelig bør kodeksen ser sådan ud:,, offentlig funktion up() (skema: skabe ('customers, funktion ($tabel) ($tabel - > trin ('id) $tabel - > string ('first_name) $tabel - > string ('last_name) $tabel - > string ('email ') - > unique(). $tabel - > timestamps().})},,, down(), metode er meget enklere - det bare sletter det skema:,, offentlig funktion down() (skema: smid ('customers)), transaktioner, koden her, vil svare til kunderne.første påberåbe sig denne kommando:,, folkesundhedsprogrammet håndværker migrere: create_transactions_table, nu finde passende aktindsigt i, app /database /migration, og åbne den.Like earlier, start by creating the schema:, ,Schema::create('transactions', function ($table) {, ,Now add the fields for the id, transaction's name, its cost and the id of the customer that it belongs to:, ,\t$table->increments('id'); \t$table->string('name'); \t$table->float('amount'); \t$table->integer('customer_id');, ,And of course the timestamps:, ,\t$table->timestamps(); });, ,The final code should look like this:, ,public function up() { \tSchema::create('transactions', function ($table) { \t\t$table->increments('id'); \t\t$table->string('name'); \t\t$table->float('amount'); \t\t$table->integer('customer_id'); \t\t$table->timestamps(); \t}); }, ,And now the ,down(), method:, ,publdet fungerer down() (skema: smid ('transactions)}, database, konfiguration, før du anvender den migration, du bliver nødt til at få forbindelse til jeres database.åben den, app /ud /database.php, fil og hen til linjen, 55.her er den konfiguration, data for mysql (der er få andre, der f.eks. kunne du bruge sqlite eller postgres):,,'mysql = > system ('driver = > mysql, //database chauffør, rør ikke ved'host = > localhost "//vært for den database, der normalt localhost, medmindre du har din db på en server'database = >" database "//navn af databasen, vil du være med, skal det være skabt tidligere'username = >" rod "//brugernavn, at det vil bruge til at forbinde, - stærkt råd mod brugen af grundlæggende bruger til dette'password = > '//password til brugeren over, det er bedre ikke at bruge en tom'charset = > utf - 8.//kodning af db'collation = > utf8_unicode_ci, //db er indsamling af'prefix = > '//præfiks i databasen tabeller, nyttigt, hvis du har flere manuskripter med samme database), efter du har fyldt det, du er god til at gå.sørg for, at du reddede fil og påberåbe sig denne ordre fra din app 's vigtigste directory (den ene med den håndværker, fil i):,, folkesundhedsprogrammet håndværker udvandrer, og det er det.hvis der ikke var nogen fejl, betyder det, at situationen var skabt med succes.du kan kontakte din db, f.eks. med phpmyadmin manuelt at kontrollere, hvis du vil.,, modeller, i laravel, at skabe en model, når man har indrettet deres database med migration er virkelig hurtigt.navigere, app /modeller, og det eksempel, user.php, filen, der er der.nu skaber to sager ved navn, customer.php, og transaktionen. php,.,, lad os starte med, at kunden. folkesundhedsprogrammet.hver model i laravel er at udvide, veltalende, klasse:,, klasse kunde udvider veltalende {, nu vi skal definere forholdet mellem kunde og deres transaktioner.dette er gjort ved at definere en offentlig metode i den model til navnet på den ejendom, vi gerne vil have i det (i dette tilfælde transaktioner):,, offentlig funktion transactions() {, nu i liget af den funktion, der vil kun være én linje:,, returnerer $- > hasmany ('transaction)}}, det fortæller veltalende, at det bør give alle transaktioner med, customer_id, af kunden i henhold til en ejendom ved navn, transaktioner,.,, nu vil vi gøre det samme for transaktioner, men vi vil ændre forholdet til transaktionens ejer er tilgængelige via, kunde, ejendom:,, klasse transaktion omfatter veltalende {offentlige funktion customer() {tilbage $- > tilhører ('customer)), er detmed de $- > belongsto(), metode i den model.,, flyveledere, nu til rent faktisk at anvende de modeller, vi er nødt til at skabe de registeransvarlige for dem.gå til den, app /kontrollører, fortegnelse, sletter den, homecontroller.php kun -, basecontroller.php, er vigtigt, da vores tilsynsførende vil udvide det.nu skaber to filer:, customercontroller.php, og transactioncontroller. php,.,, customercontroller, den registeransvarlige vil klare alt i forbindelse med kunder - tilføjelse, fjernelse og viser en liste over dem.start med at definere klasse:,, klasse customercontroller udvider basecontroller {, vil vi bruge laravel er træk ved navn afslappende kontrollører.det er lettere at skabe ruter, for vi har kun at definere grundlaget uri og laravel vil klare alt for os.det kræver, at du begynder din funktion navne med passende http verbum og derefter fortsætte med subroute navn (med camelcase).så hvis vi f.eks. ville have en metode, der hedder, getnames, og basere uri ville være /kunder, så den metode, vil være tilgængelige på /kunder /navne,.,,, getindex(),, postindex(),, deleteindex() osv. metoder vil blive kortlagt til misligholdelse rute (i dette tilfælde, /kunder,.,, så lad os definere vores første vej - at den kunde, som deres id:,, offentlig funktion getindex() {, lad os få id af forespørgslen parametre (laravel giver et godt bidrag, klasse til at beskæftige sig med det, så du behøver ikke at bruge $_get, $_post og $_files,):,, $id = input: kom ('id "), og søg for brugeren i databasen ved hjælp af det id:,, returnerer kunde: finde ($id)}, hver metode til den registeransvarlige har til gengæld værdi, somer en snor eller har en, __tostring() metode.i dette tilfælde, kunderne, model, der er tilbage, vil blive omregnet til json, før de sender.,, lad os vende en liste over alle brugere (dette vil være tilgængelige i henhold til /kunder /,):,, offentlig funktion getall() {tilbage kunde: all();}, som du kan se, - få alle kunder, der anvender den model, all() metode.,, nu er den længste del, at tilføje en ny kunde:,, offentlig funktion postindex() {,, lad os se, om alle nødvendige oplysninger blev ikke fremlagt.vi kan gøre dette ved hjælp af, input: has(), metode:,, hvis (input: ('first_name "," last_name, e - mail)) (, lad os få alle input felter i $input, variable undgå, input: get(), og i.dette kan gøres ved hjælp af, input: all():,, $input = input: all();,, dernæst vil vi se, om nogen af de råmaterialer, er tomme.så vil vi vende tilbage til en http 400 dårlig anmodning fejl med en mere vidtløftige budskab:,, hvis ($bidrag ['first_name "= ="
angularjs og laravel: begynde at bygge en crm -
Previous:fast: del 2
Next Page:modtagekontrol af codeception