Arhive categorie: Symfony

Vreau sa invat programare web. Cu ce continui? – Partea a 2-a

Invatarea bazele unui domeniu necesita, pe langa multa vointa si multa munca. In programarea web, pe langa invatarea notiunilor, practica si buna intelegere a tehnologiilor devin prioritare.

Fiind domeniul care are rata cea mai mare dezvoltare, cum poti sa stii cu ce anume sa iti incepi aceasta calatorie? In partea intai a acestui articol, am vorbit despre ce tehnologii ar fi bine sa inveti pentru a te dezvolta in domeniul programarii web si despre ordinea in care e indicat sa le inveti.

In acest articol, iti voi prezenta ce poti invata in continuare pentru a deveni un programator web mai bun:

Invata AJAX

Numele AJAX este o prescurtare pentru Asynchronous JavaScript si sub acest nume se formeaza o combinatie de mai multe tehnologii care sunt folosite pentru crearea site-urilor web.

AJAX consta intr-un schimb de date intre server si browser. Prin acest schimb reincarcarea intregii pagini web la fiecare schimbare facuta de user, nu mai este necesara, rolul sau fiind de a creste viteza, interactivitatea, precum si usurinta utilizarii aplicatiilor web.

Invata un CMS: WordPress sau Drupal

Pentru a-ti continua calatoria spre a deveni programator web e necesar sa ai cunostinte si intr-un CMS. Iti recomand sa alegi intre WordPress si Drupal; WordPress fiind mai usor de invatat si utilizat, iar Drupal mai dificil.

Ambele CMS-uri (Content Management System) au rolul de a crea site-uri web de toate tipurile, WordPress fiind cel mai popular in momentul de fata. Mai mult, ca si programator web poti contribui la dezvoltarea CMS-urilor.

Invata un framework: Laravel sau Symfony

Ca si programator web in construirea site-urilor si aplicatiilor ai nevoie si de framework-uri, in special pentru aplicatiile care au sesiuni, baze de date, servicii remote (Facebook, Twitter), cookie-uri si form-uri.

Alegerea ramane insa la tine, fiecare programator web avand propriile preferinte, in functie de ce au nevoie si cu ce au fost obisnuiti sa lucreze. Totusi, Laravel este un framework mai usor de folosit decat Symfony.

Responsive design

Pe langa toate acestea, ca si programator web va fi necesar sa stii cum sa construiesti site-urile web astfel incat sa se adapteze pe toate felurile de dispozitive; de la laptopuri, la calculatoare, telefoane mobile si tablete.

Daca iti doresti sa inveti programare web de la zero, si sa aprofundezi anumite tehnologii, alaturat gasesti datele mele de contact!

Anunțuri

Incearca cat mai multe tehnologii la inceput

Vrei sa afli informatii despre cum sa iti alegi drumul in programare web? Sau motivele pentru care e necesar sa inveti mai multe tehnologii?

Domeniul programarii web e unul complex si vast, iar curicula din facultate, in majoritatea cazurilor, nu cuprinde toate ariile si toate tehnologiile, pentru ca tu sa ai toate informatiile pentru deciziile care urmeaza.

Fiind si unul dintre domeniile in care au loc cele mai multe schimbari, poate fi putin dificil la inceput sa tii pasul. Pentru a putea fi mereu in cunostinta, in ceea ce priveste cariera de programator, solutia este sa inveti mereu si cat de mult poti din mai multe domenii.

Te incurajez in acest pas, deoarece doar cunoscand anumite tehnologii si arii vei putea decide care anume ti se potriveste. In acest fel vei putea lua o decizie buna pentru tine, pentru ca aceasta decizie nu o poate face nimeni inafara de tine.

Invata CMS: WordPress, Drupal

Daca iti place sa lucrezi, le intelegi, iti este usor sa lucrezi in CMS-uri ca si WordPress sau Drupal acesta iti poate fi drumul.

Ca si programator WordPress vei putea sa creezi site-uri web care arata si functioneaza bine, sau vei putea participa in dezvoltarea CMS-ului. Pentru dezvoltarea WordPress-ului va insemna ca vei construi plugin-uri pentru o functionare mai buna.

Pe acelasi concept functioneza si Drupal, fiind o platforma open-source si un sistem de content management (CMS) pentru creare si dezvoltare site-uri web.

Invata Frameworks: Laravel, Symfony, Codelgniter

Framwork-urile sunt necesare si indicate pentru site-uri web si aplicatii care au sesiuni, form-uri, cookie-uri, baze de date, sau servicii remote (cum sunt Facebook si Twitter).

Indiferent de framework-ul pe care decizi sa il folosesti, rolul acestuia fiind de managementul form-urilor, abstractizarea bazei de date, autentificarea, abstractizarea cache-ului, internationalizare si depanare usoara.

Mai mult, printre avantajele unui framework se numara: securitatea, portabilitatea, standard de codare, plugin-uri si module, documentatie, precum si timp de dezvoltare mai scurt.

Ca si programator web vei avea propriile preferinte in ceea ce priveste selectarea unui anumit framework, dar si in functie de necesitatile site-ului web sau aplicatiei.

Invata Baze de date: MySQL, MSSQL, PostgreSQL, MontgoDB

Invata si descopera ce inseamna sa lucrezi cu proiectarea si administrarea bazelor de date. Acestea au rolul de a stoca informatii cu privire la contabilitate, pontaje, gestiune, salarizare, ofertare, precum multe alte domenii.

O astfel de arie, precum bazele de date, se muleaza foarte bine cu programatorii web carora le place ordinea si lucrurile sa fie la indemana, logice.

Invata Front-End frameworks: Angular, React, NodeJS

Daca descoperi ca iti place partea de programare front-end, pentru aceasta e nevoie sa cunosti framework-uri care sunt tocmai pentru aceasta parte precum: React, Angular, NodeJS.

De asemenea, poti sa le inveti si sa incerci sa lucrezi cu ele, pentru a vedea daca intr-adevar te descurci si daca iti doresti sa faci asa ceva.

Full stack developer

Cu siguranta orice cale alegi, inceputul va fi mai greu, pana te adaptezi si pana ajungi sa cunosti domeniul foarte bine. Totusi, s-ar putea sa intampini tipul de situatie in care ti-ar place sa stii din toate, si pe cat posibil sa lucrezi zi de zi cu cat mai multe tehnologii.

In acest caz, poti sa alegi sa devii un full stack developer, nu e nevoie sa te specializezi pe o singura arie. Aceasta alegere iti poate aduce si mai multe oportunitati de job-uri, intrucat candidatii valorosi sunt cei care detin mai multe informatii, dar mai important de atat, stiu cum sa puna acele cunostinte in aplicare.

Indiferent de alegerea ta, cel mai important e sa constientizezi ce presupune munca pe care o vei desfasura si sa iti asumi aceasta alegere. Asumarea nu consta doar in zilnica ta aparitie la locul de munca, dar si in dorinta si incercarea de auto-depasire.

Daca iti doresti sa inveti programare web de la zero, sau vrei sa acumulezi cunostinte in tehnologii pe care nu le cunosti, alaturat gasesti datele mele de contact!

Symfony 1.4: Redirectare din componenta

Symfony 1.4: Redirectare dintr-o componenta

Din experienta va scriu, ca se pierde mai mult timp rezolvand chestii marunte decat sa faci ceva mai complex. Asa am patit cu o redirectare din componenta. Am cautat ceva timp pana cand am gasit solutia . 

Exemplu:

<?php

class myComponent extends sfComponents
{
   public function executeNume()
  {
     ....
     $this->redirect('@homepage');
     ...
  }
}

?>

Bineinteles am avut urmatoarea eroare: .. redirect undefined method

Solutie

Solutia este sa apelam metoda redirect din sfAction. Asa am procedat, am schimbat $this->redirect(‘@homepage’) in sfAction::redirect(‘@homepage’) si totul functioneaza perfect .

<?php

class myComponent extends sfComponents {

  public function executeNume()
  {
     ...
     sfAction::redirect('@homepage');
     ....
  }
}

?>

Symfony2 si Drupal 7 – Eveniment OradeaDevs

Ieri, 25 februarie 2012, a avut loc un nou eveniment OradeaDevs despre Symfony2 si Drupal7. Ma bucur ca se organizeaza astfel de evenimente in Oradea si pentru faptul ca ne-am adunat intr-un numar mare . 

Evenimentul s-a desfasurat la Universitatea din Oradea, la Facultatea de Stiinte, Amfiteatru C109.

Au avut loc 4 prezentari: 3 prezentari despre Symfony2 si o prezentare despre Drupal7. Pe langa prezentarea despre Drupal7 am vazut si un demo despre integrare solr cu Drupal7. Acum voi face un rezumat despre ce s-a prezentat.

Introducere in Symfony2

Farkas Ferencz – IMtech

Feri a prezentat urmatoarele despre Symfony:

  • Ce este si de ce sa optam pentru Symfony 2
  • Cerinte de sistem
  • „Ingredientele” din Symfony2
  • Bundle-uri / librarii in pachetul standard
  • Structura de directoare
  • De la request la Response
  • Exemple de site-uri in Symfony

Vizualizeaza prezentarea: Introducere in Symfony2

Componente Symfony2

Petchesi Gabriel Horatiu – Freelancer

Gabi ne-a prezentat ca Symfony2 include un set de componente reutilizabile atat in Symfony2 cat si in alte proiecte. El a prezentat in detaliu cateva componente, cum ar fi:

  • EventDispatcher
  • Assetic
  • Routing

Folosing motorul de template TWIG este posibila combinarea resurselor .

Vizualizeaza prezentarea: Componente in Symfony2

Symfony + Solr

Petchesi Gabriel Horatiu – Freelancer

Gabi a tinut si o alta prezentare despre Integrare Solr cu Symfony. Prezentarea include urmatoarele:

  • Despre Solr, Lucine
  • Capabilitati Solr
  • Exemple de Plugins (Symfony 1) si Bundles (Symfony2)
  • Clasa de cautare si exemplu
  • Experiente cu Solr

Vizualizeaza prezentarea: Symfony + Solr

Drupal 7

Vlad Adrian Buda – CYLEX

Vlad a prezentat avantajele si particularitatile pentru Drupal 7, integrare cu Solr si a pregatit un demo utilizand Search Api Solr + Views. 

Prezentarea include:

  • Ce este Drupal?
  • Comparare cu WordPress si Joomla
  • Scurt istoric si cerinte sistem
  • Exemple de site-uri in Drupal
  • Avantaje Drupal
  • Particularitati Drupal
  • Exemplu Form API
  • Integrare cu Solr
  • Demo Solr

Vizualizeaza prezentarea: Drupal 7

Concluziile mele personale

  • Symfony2 este nou pentru comunitatea programatorilor din Oradea. Drupal7 are mai multa  vechime (ianuarie 2011)
  • Prezentarea lui Feri a fost pe intelesul tuturor, sper ca cativa din noi va incerca Symfony2.
  • Setul de componente reutilizabile suna foarte bine, prezentat de Gabi, si abia astept momentul cand Drupal 8 si alte CMS-uri vor utiliza din aceste componente.
  • Integrare cu Solr in Symfony, prezentat de Gabi, a fost la un nivel inalt. Desi nu au fost intrebari, sunt convins ca multi dintre noi nu au inteles despre ce este vorba. Poate pentru urmatoarea prezentare vom avea si un demo.
  • Ca si mod de prezentare + continut mi-a placut cel mai mult prezentarea lui Vlad.
  • Demo Solr, prezentat de Vlad,  a fost interesant pentru ca in mai putin de 15 minute a reusit sa faca aceasta integrare cu solr in Drupal 7.

Mai multe detalii despre Comunitatea Programatorilor din Oradea gasiti pe site-ul OradeaDevs.

Symfony 1.4: Cum interogam sintaxa MySQL in Doctrine 1.2 ?

Cred ca fiecare programator PHP in Symfony 1.4 s-a lovit de aceasta problema: Cum interogam sintaxa MySQL in Doctrine 1.2 ? Cautand pe net am gasit 3 solutii foarte asemanatoare .

Solutii

  1. $pdo = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh();
    $sql = „SELECT * FROM user LIMIT 1”;
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    $results = $stmt->fetchAll();
  2. $q = Doctrine_Manager::getInstance()->getCurrentConnection();
    $sql = „SELECT * FROM user LIMIT 1”;
    $results = $q->execute($sql)->fetchAll();
  3.  $results = Doctrine_Manager::getInstance()->getConnection(‘doctrine’)
    ->getDbh()
    ->query(<<<RAW_SQL

    SELECT * FROM user LIMIT 1;

    RAW_SQL)
    ->fetchAll();

Daca stiti si alte solutii va rog sa scrieti in comentariu.

Pentru varianta cu Propel nu am cautat, dar cred ca sintaxa este foarte asemanatoare .

In curand: Symfony2 si Drupal7 – Eveniment PHP

La Oradea se pregateste un nou eveniment PHP si anume se vor prezenta framework-urile Symfony2 si Drupal7.

Prezentare Symfony2 si Drupal7

Evenimentul se va incepe cu prezentari generale despre Symfony2 si Drupal7. Posbil sa se prezinte si modul in care se poate integra cu Solr.

Inca nu s-a stabilit data si locatia, dar posibil sa aiba loc cel tarziu sfarsitul lunii februarie. Voi reveni cu informatii concrete .

Sprint Drupal7 si Symfony2

Ambitiosii poate sa participe la un sprint de Drupal7 si Symfony2 – o aplicatie care se poate implementa in maxim 12 ore – .

Detaliihttp://www.oradeadevs.net/eveniment-php-propuneri-februarie-2012

Symfony 1.4 – Trimite email din linie de comanda

Scriu un exemplu scurt cum se trimite un email din batch, linie de comanda in Symfony 1.4.

Cod sursa

Salveaza urmatorul cod in fisierul send_email.php:

 <?php 
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', true);

$databaseManager = new sfDatabaseManager($configuration);

sfContext::getInstance()->getMailer()->composeAndSend('adresa_mea@mailinator.com', 
'destinatar@mailinator.com',
 'Titlu email', 
'Continut email');

?>

Apelare din linie de comanda

php send_email.php

In cateva minute vei primi destinatarul va primi un email.