Gebouw met behulp van start: de geografische ligging en de lokale

Google, gebouwen met behulp van start: de geografische ligging en de plaats van Google,,,,,,,,,, 232, 20 aandelen,,,,,,,, de delen van het netwerk, maandag wat in tuts + - programma zal worden beperkt tot slechts drie. Yuan.Niet' dit artikel niet missen, is een reeks wordt aangeduid als "de start voor de bouw en de PHP. Php beginnen: functie - eisen en de database van het gebouw beginnen PHP: binnenlandse en internationale, je creëert,,,,, dit is het gebouw van je PHP reeks derde deel les + beginnen.In deze serie, ik leid je door de start van het concept van de realiteit, het gebruik van mijn conferentie van toepassing als een echte voorbeelden.Elke stap voor stap, publiceren we het plan van de conferentie als open source code voorbeeld kan je leren in dit deel, zullen we een paar fundamentele concept van de infrastructuur waar mensen kunnen het organiseren van vergaderingen.We zullen betrekking hebben op de werkplek, de bouw van de integratie van onze database, zal het haar geolocation API, Google maps en waar Google.Ons idee is het gebruik van deze functie te kiezen als je vergadering, snel en gemakkelijk in positie.   we niet alles aan te passen en voltooiing van de set, maar wij zullen in de komende training,,, de code van de programma 's van de conferentie in het kader yii2 schrijven en met behulp van een leidende en javascript.Als je meer wilt weten over yii2, kijken of we een parallel programma   reeks yii2 in TUTS +, maar om eraan te herinneren, ik was ook betrokken bij de volgende opmerkingen willen maken.Ik bijzonder geïnteresseerd ben, als je een andere methode of   meer ideeën voor de toekomst, of wil de thema 's training.De Conferentie van de functionele eisen van mensen, en welkom, de plaats van vestiging van de functie, voor de gebruiker kan voor het organiseren van vergaderingen, voordat we ze nodig hebben om hun favoriete plaats.De eerste, om het eenvoudig te houden, zullen we een plek vinden en het creëren van functies, respectievelijk van de centrale functies.,, zijn er drie manieren: de gebruikers, waar haar geolocation, goedgekeurd, kunnen zij van mening zijn huidige positie via wifi - en de toevoeging van deze plek, het gebruik van API - Google plaatsen, ze kan zoeken naar een plek het gebruik van de lokale databases automatisch functioneren.Uiteindelijk, als we weten dat ze nu een positie, kunnen we onze zoektocht beperken in de buurt, handmatig in.De gebruiker kan zijn en dat het adres van de plaats waar de, zoals het kantoor of thuis, de uitbreiding.,, hier in de lokale model, dat wij in het tweede deel de ontwikkeling van modellen:,, tableoptions dollar = nul; als ($- > dB > DriverName = = = = = = = = "mysql") {% "tableoptions = utf8 tekenset af utf8_unicode_ci motor = vuile";}, dit > createtable ("{{}}% elders, [id = > schema: type_pk" naam "= > schema: type_string" leeg "." place_type "= > het schema::; type_smallint." niet - standaard 0 "," status quo "= > schema: type_smallint."Ongeldige standaard 0 "," google_place_id "= > schema: type_string." leeg ", /zoals Google id plek created_by" = > schema: type_bigint. "Niet", "created_at" = > schema: type_integer. "Niet de lucht "," updated_at "= > schema: type_integer."Niet leeg,], tableoptions dollar); de dollar - > addforeignkey ('fk_place_created_by "," {}} {% elders "," created_by "," {}} {% gebruikers "," identiteitskaart "," de waterval "," niveau "); dat, zonder enige geografische positie. En De lokale concordantietabel.Dit is omdat     mysql vuile motor geen steun van de ruimtelijke - index.Dus maakte ik een tweede tabel myisam tabel van de geografische coördinaten van de plaats.Het is, Place_GPS, table:, klasse, m141025_213611_create_place_gps_table breidt de migratie (openbare functie. () {$tableOptions = nul; als ($this-> db-> driverName = = = = ='CHARACTER'mysql') {$tableOptions die het verzamelen van utf8_unicode_ci utf8 ENGINE=MyISAM';} $this-> createTable ('{{%place_gps}}', [id '=> Schema:: TYPE_PK,'place_id'=> Schema:: TYPE_INTEGER.'; niet NULL','gps'=>'POINT niet NULL'], $tableOptions); $this-> het uitvoeren van ('create ruimtelijke - place_gps_gps op'.'{{%place_gps}} (GPS); "); $this-> addForeignKey ('fk_place_gps','{{%place_gps}}','place_id','{{%place}}', id','CASCADE','CASCADE');}, en ik ben In ra.- ik ga een prototype van de uitbreiding van het gebruik, de architectuur van de migratie en zend ik uiteindelijk ook in de toekomst aan te passen.,, modellen, creëren we een nieuwe migratie:,,. /een migratie van extend_place_table /creëren, en om de volgende code:,, <?PHP gebruik yii\\db\\Schema; gebruik yii\\db\\Migration; klasse m150114_202542_extend_place_table breidt de migratie (openbare functie. () {$tableOptions = nul; als ($this-> db-> driverName = = = = ='CHARACTER'mysql') {$tableOptions die het verzamelen van utf8_unicode_ci utf8 ENGINE=InnoDB';} $this-> addColumn ('{{%place}}','slug','string niet NULL'); $this-> addColumn ('{{%place}}','website','string niet NULL'); $this-> addColumn ('{{%place}}','full_address','string niet NULL'); $this-> addColumn ('{{%place}}','vicinity','string niet NULL'); $this-> addColumn ('{{%place}}','notes','text'); de openbare functie "() {} $this-> dropColumn ('{{%place}}';En'slug "); de dollar - > dropcolumn (" {}} {% van de lokale,'website "); de dollar - > dropcolumn (" {}} {% van de lokale,'full_address "); de dollar - > dropcolumn (" {{}}% van De lokale,'vicinity "); de dollar - > dropcolumn (" {}} {% van de lokale,'notes ");}}, zal dit een verhoging van de zuiger, de website, full_address, in de buurt van, en de toelichting.Stop is een URL 's zien waar de pagina' s, automatisch tot een voor ons.Aan de andere kant soms door de gebruikers en andere tijd intensieve plaats van Google, beheer van de migratie, de API - update. We komen de volgende:,,. /een migratie /, moet je zien als volgt:,, zend de instrumenten (op basis van zend V2.0.0) in totaal 1 is van toepassing op nieuwe immigratie: m150114_202542_extend_place_table voor immigratie????????(de



Previous:
Next Page: