Development

Documentation/fi_FI/book/1.2/01-Introducing-Symfony

You must first sign up to be able to contribute.

Tämä luku kertoo pääpiirteissään, mitä Symfonyllä voi tehdä ja mitä sen käyttöön vaaditaan.

Symfony pähkinänkuoressa

Ohjelmointikehys suoraviivaistaa ohjelmistokehitystä tarjoamalla ratkaisut moniin yleisesti toistuviin tehtäviin. Kehys tarjoaa valmiin rungon ja rakenteen sitä ympäröivälle koodille, mikä edesauttaa ohjelmoijaa kirjoittamaan parempaa, luettavampaa ja hallinnoitavampaa koodia. Sen lisäksi se paketoi monimutkaisia operaatioita yksinkertaisiin kutsuihin tehden ohjelmoinnista helpompaa.

Symfony on täysikasvuinen ohjelmointikehys, joka on suunniteltu helpottamaan web-sovellusten kehitystä muutamien pääominaisuuksiensa voimalla. Symfony erittelee web-sovelluksen ulkoasun (view), logiikan (controller) ja tiedonkäsittelyn (model) kolmeen eri kerrokseen. Se sisältää lukuisia työkaluja ja luokkia, jotka on tarkoitettu lyhentämään monimutkaisten ohjelmistojen kehitysaikaa. Sen lisäksi se automatisoi yleisiä toimintoja, jotta ohjelmoija voi keskittyä täydellä teholla oman ohjelmansa erikoispiirteisiin. Lopputuloksensa kehittäjän ei siis tarvitse keksiä pyörää uudelleen jokaista uutta sovellusta rakentaessaan.

Symfony on kirjoitettu kokonaan PHP 5 -kielellä. Se on testattu kokonaisuudessaan useissa oikeissa projekteissa ja on käytössä monissa vaativissa yritysratkaisuissa. Symfony on yhteensopiva useimpien saatavilla olevien tietokantojen kanssa mukaanlukien MySQL, PostgreSQL, Oracle ja Microsoft SQL. Käyttöjärjestelmätuet ovat *nix ja Windows -alustoille.

Symfonyn ominaisuudet

Symfony rakennettiin täyttämään seuraavat vaatimukset:

  • Helppo asentaa ja konfiguroida suurimmalla osalla palvelimia
  • Riippumaton tietokannasta
  • Yksinkertainen käyttää, mutta tarpeeksi skaalautuva sopeutuakseen vaativimpiinkin tehtäviin
  • Konfigurointitarve olemassa vain, kun poiketaan totutusta
  • Yhteensopiva sovelluskehitysteorioiden kanssa (DRY, KISS, XP, design patterns, ...)
  • Valmis yritysmaailmaan - sopeutuu olemassa oleviin käytäntöihin ja arkkitehtuureihin ja säilyy vakaana pidempiaikaisissakin projekteissa
  • Helppolukuista koodia, johon sisältyy phpDocumentor-kommentit
  • Helppo laajentaa, mikä mahdollistaa integroinnin kolmannen osapuolen toimittajien kanssa

Automatisoidut web-sovellusominaisuudet

Suurin osa yleistason kehitysratkaisuista on automatisoitu Symfonyyn, kuten esimerkiksi:

  • Sisäänrakennettu kansainvälisyystuki, joka sallii paitsi käyttöliittymän käännöstyön, myös sisällön lokalisoinnin.
  • Ulkoasu käyttää ulkoasumalleja, joita HTML-suunnittelija voi rakentaa ilman erillistä Symfony-tuntemusta. Symfonyn avustajafunktiot (helpers) lyhentävät ulkoasukoodin määrää paketoimalla huomattavia toimintoja yksinkertaisiin kutsuihin.
  • Lomakkeet tukevat automaattista tiedontarkistusta ja uudelleentäyttöä.
  • Tiedon suodatus suojaa ohjelmistoa hyökkäyksiltä.
  • Välimuistiominaisuudet madaltavat palvelimen kuormitusta.
  • Käyttäjätunnistus mahdollistaa suojattujen alueiden luonnin ja käyttäjien turvallisuuden hallinnan.
  • Reititys ja älykkäät URL-osoitteet tekevät sivustosta hakukone- ja käyttäjäystävällisemmän.
  • Sisäänrakennettu e-mail- ja rajapintahallinta antaa web-sovelluksen ylittää perinteisen selaininteraktion rajat.
  • Listat ovat käyttökelpoisempia sivutuksen, järjestämisen ja suodatusominaisuuksiensa takia.
  • Tehtaat (factories), laajennusosat ja sekoitukset (mixins) tekevät Symfonystä helposti laajennettavan.
  • Ajax-toimintoja on helppo käyttää avustajafunktioiden (helpers) takia.

Kehitysympäristö ja työkalut

Täyttääkseen yritystason vaatimukset ohjelmointisäännöksineen ja projektihallintaratkaisuineen, Symfony on täysin muokattavissa. Oletuksena se tarjoaa useita kehitysympäristöjä ja sen mukaan on liitetty työkaluja, jotka automatisoivat yleisiä tehtäviä:

  • Koodin generointi mahdollistaa esimerkiksi back-end -toimintojen luonnin yhdellä klikkauksella
  • Sisäänrakennettu yksikkö- ja toiminnallisuustestaus tarjoaa parhaat työkalut testauspainoitteiseen kehitykseen.
  • Debug-paneeli nopeuttaa debug-työtä näyttämällä kehittäjälle tietoja sivun toiminnasta samalla sivulla, jota hän työstää.
  • Komentorivikäyttöliittymä automatisoi julkaisuprosessia kahden palvelimen välillä.
  • Konfigurointimuutokset mahdollisia livenä, tulevat voimaan heti.
  • Lokitiedostot tarjoavat ylläpitäjälle kaikki tarvittavat tiedot ohjelman toiminnasta.