PHP öğreniyorum. Tavsiyeleriniz?

Ben beden eğitimi öğretmeni bir babanın ve bankacı bir annenin oğluyum. ailemde bilgisayarla yakından uzaktan ilgilenen kimse yok. Üniversiteye girdiğimde de bu böyleydi, mezun olurken de. Bu sebepten beni bilinçlendirecek kimse yoktu çevremde. Mersin’de internet ben üniversiteye girdiğimde anca yeni yeni evlere merhaba demeye başlamıştı. Arkadaşlarımdan da bilgisayarla ilgilenen kimse yoktu.

Üniversitede aldığım dersler bana web programlama dili öğretmedi. Enteresan değil mi? Zorunlu ders olarak bir web programlama diline giriş yapmıyorsunuz. Tabi ilk geldiğimizde IT101 dersini saymazsanız. Onda çok güzel HTML site yapardım.

Şimdilerde iş için çağıralar tabii ki web yönümün kuvvetli olmasını istiyorlar. Sonuçta temel şeylerden biri oldu artık. Neyse ben bir yandan Mobil uygulamalarda kendimi geliştirirken bir yandan da PHP öğrenmeye başladım. Lynda.com’un eğitim vireolarını takip ediyorum. 2 sene öncenin videoları ama sanmıyorum ki çok çok değişiklik olsun. Zaten değişen şeyler için de onlarca kaynak var internette araştırır bulurum. Şimdilik ilk hello world’ümü yazdım.

C’den sonra PHP biraz daha kolay geliyor haliyle. Az bucuk HTML bilgimi de yavaştan hatırlamaya başladım. Bu eğitimin sonucunda kendi web sitemi geliştirebilir ve en azından mysql konusunda daha da bilgilenebilirim diye düşünüyorum.

Kullandığım araçlar şunlar:

  1. Mac OS X Snow Leopard
  2. Apache 2
  3. Mysql 5.1.46 (Phpmyadmin 3.3.2 sponsorluğunda)
  4. PHP 5.3.0
  5. Text editörü olarak da Textmate 1.5.9 kullanıyorum.

Sizin, bunların haricinde tavsiye edeceğiniz bir site, bir program ya da herhangi bir şey var mı? Özellikle tavsiye edeceğiniz araçlar işimi kolaylaştıracaksa çok mutlu olurum. Tavsiye edeceğiniz site de tabii ki en temelden başlatmalı. Sonuçta atlayarak da çalışabilirim, yabancı olmadığım şeyler olarak bir yerden sonra ama ufak bir yeri atlayıp yarın basit bir şey yüzünden projelerimin çöpe gitmesini ya da zamanımın gitmesini istemiyorum. 10 gün daha geç öğrenirim ama temel iyi olur 🙂

Tavsiyeleriniz için şimdiden teşekkür ediyorum.

10 Cevaplar

  1. şafak dedi ki:

    Ben text editörü olarak crimson editör kullanıyorum, senin kullandığın textmate ne kadar gelişmiş ve kullanışlı hiç bilmiyorum ama crimson editörün bana göre tek eksiği 64bit desteği olmaması, onun dışında renklendirme işini gayet başarılı yapıyor, bu sayede kodları çok daha rahat okuyabiliyorum, aynı zamanda for loop u gibi küme parantezi kullandığımız kodlarda küme parantezinin nerede kapandığınıda gösteriyor, bu da bir kolaylık sağlıyor. Mysql aracı için phpmyadmin kullanmayı çoktan bıraktım. heidisql adında güzel bir program var, onunla database e daha iyi hükmettiğime inanıyorum ve çok daha hızlı çalışıyor. C bilen birisine php hiç zor gelmez, kolayca öğrenirsin diye düşünüyorum. Temel olarak başlayacağın konular cookieler(çerezler), session(oturumlar), mysql sorguları olabilir, bunlarla bir kullanıcı adı ve şifre gerektiren form oluşturabilir ve üyelik sistemi geliştirebilirsin diye düşünüyorum. Üyelik sistemleri hoşuma gittiği için bunu önerdim, çokta objektif bir öneri değil yani 🙂 Kolay gelsin. Bende şuan bir takvim scripti ile uğraşıyorum.

  2. D.D.Güçlü dedi ki:

    Teşekkür ederim tavsiyeler için Şafak. Textmate renklendirme işini baya iyi yapıyor. Ayrıca kod sonu tamamlama direk otomatik baya hızlılık sağlıyor. Xcode’daki gibi tamamladıktan sonra seni dışarı da atmıyor direk yazmaya devam ediyorsun.

    Eğitim videosunda adam phpmyadmin kullanıyor. Ben de şimdilik onunla başlıyorum, belki sonra yetersiz gelirse değiştirebilirim.

    Senin ayrıca kullandığın bir araç var mı?

    Umarım dediğin kadar hızlı öğrenebilirim.

  3. şafak dedi ki:

    Bence en güzel öğrenme yöntemi, kitap açıp konuları sırayla işlemek yada buna benzer bir şey değil. Kendi öğrenme yöntemimi anlatayım. Kendine bir hedef belirle, ben php ile şu projeyi yapacağım de. Örnek olarak üyelik sistemi diyelim. Zaten bu projeyi yapmak isterken neler gerekiyorsa açıp öğreniyorsun. üyelik sistemi yaparken kendini session ve cookielerde falan geliştiriyorsun. Seçtiğin projeye göre zaten o proje için gerekli olan konuları açıp kurcalamaya başlıyorsun ve öğrendiğini anlamıyorsun bile, en sonunda arkana dönüp baktığında “vay be ne kadar yol katetmişim” diyorsun. Onun dışında bir araç tavsiyem yok. internetten basit php scriptlerini indirip inceleyebilirsin, onunda çok yardımı oluyor. Ben smf forumlarıyla uğraşmıştım baya zamanında. Oyun serverı ve onun internet sitesi olan smf forumu vardı. ikisinin üyelikleri ayrı oluyordu ve farklı databaselerde tutuluyordu, onları birleştirmek adına bir işe kalkışmıştım php bilmiyorken. 1.5 senede amacıma ulaştığımda phpde baya bi temel attığımı görmüştüm. Ha phpde çok ileri değilim çünkü ciddi anlamda hiç uğraşmadım ama nerdeyse her konuda bir fikrim var, neyin nasıl yapılacağını kafamda kestirebildiğim için kitap açıp işime yarayan şeyleri bulup kendime uyarlayıp kodlara ekleme, çıkarma yapabiliyorum. Şimdilik yetiyor bana.

  4. yiğit dedi ki:

    benim php kullanırken yapmadığım, şu anda da yanlış olarak gördüğüm şeyler şunlar:

    php5 yeni çıkmıştı, nesne tabanlı kullanımı daha kimse tarafından kullanılmıyordu. ben de bu yüzden nesne php’yi php4 gibi kullandım, nesne tabanlı php gözüme hep çirkin gözüktü, sınıflar sonradan yamalanmış gibi geldi. bu büyük bir hata oldu, kodlarım hep yapısızca ilerledi. php’de düzgün yapılandırılmış kodlar yazmak için nesne tabanlı kod yazmak şart. önceliklerin arasında olmalı kesinlikle. (bilmiyorum, belki php öğreten kaynaklar direk nesne tabanlı öğretiyorlardır artık)

    php’yi kitaplardan ve wordpress’den öğrendiğim için template motoru kullanmadım. yazdığım bir kodu başkalarına sattığım zaman büyük tepkiler aldım. acı bir şekilde öğrendim ki template motoru kullanmak şart. o zamanlar smarty en yaygın tercihti, şimdi bilmiyorum ama şirketler muhtemelen hala bunu kullanıyordur.

    veritabanı tasarımı hiç önem vermedim. yazdığım koda göre veritabanını yapılandırmaya çalıştım. sonradan öğrendim ki veritabanı tasarımı projenin tüm yapısını belirleyen ilk şey. bir projeye başlarken ilk yapılması gereken veritabanı dizaynı. bana kalırsa insanın kod yazmadan önce bu işe hakim olması gerekiyor, şu anda bunu bilsem php öğrenirken yarıda bırakıp 1-2 gün bu konuda çalışırdım.

    bunların yanında, php ile ilgili olmayan, yapılması şart olmasa da bir çok artısını gördüğüm konular olarak şunları görüyorum:

    tercihen mvc yapısında bir çatı kullanılmalı. php için cake ve codeigniter gibi çatılar kalmış aklımda, fakat şu andaki durum nedir bilmiyorum. bunları kullanmaya çok geç olmadan başlanması lazım çünkü ilk başlarken çok değişik ve saçma geliyorlar, ne gerek var bunu kullanmama diyorsun. kullanımını öğrenince neden gerekli olduğunu anlıyorsun.

    mouse kullanımını minimuma indirmek lazım. mouse işleri yavaşlatan, dikkat bozan bir araç. bu durumda yapabilecek üç şey var: iyi bir metin editörünü ustaca kullanmak ve/veya tiling window manager kullanmak. tiling window manager kullanma fikri herkese hoş gelmediği için metin editörü olayına önem verilmeli. textmate’in başarılı olduğunu duymuştum, fakat emacs veya vim’e de bakabilirsin.

  5. D.D.Güçlü dedi ki:

    Yigit dediğim araçlara baktım, indirdim. Tutoriallarını izledim. Tabi şu anda pek bir anlam ifade etmediler dediğin gibi. Biraz daha ilerledikçe ve bloglarda takıldıkça işime daha fazla yarayacaklarını düşünüyorum.
    Özellikle sıfırdan aldım ki dediğin gibi database ve güvenlik konularında patlamamak için.
    Teşekkür ediyorum yardımın ve öğütlerin için 🙂

  6. cansu dedi ki:

    selam.

    http://www.w3schools.com/ adresi html, xhtml, css kodları için yardım alabilir aynı zamanda yazdığın kodları kontrol edebilirsin.

    dr. java java programlarında tavsiye edebileceğim bir program.

    c için de, devc++ tavsiye edebilirim.

  7. Okan dedi ki:

    Alıntı: “Arkadaşlarımdan da bilgisayarla ilgilenen kimse yoktu.”

    ortaokuldaki anılarımızdan dolayı,burtaç ve benim kulağım çınladı,yazıklar olsun diyor,konuya geçiyorum 🙂

    arkadaşlar bir cok konuda fazlasıyla bilgi vermişler ancak benim de gerçekten vurgulamak istedigim nokta ; veritabanı konusu.. projenin ilk adımı veritabanıdır gerçektende.. ne kadar farkettirir bilmiyorum ancak apache nin yerine xampp yaygındı önceden.. apache kasıyor ve yavaş gibi söylentilerin ardından kücük bir xampp ile hem host hem de db destegini aliyorsun.. veritabanı geliştirmen icin de görsel bir yardımı olması amacı ile bkz:microsoft visio

    php5 ten itibaren php büyük bir oranla değişti.Nesne tabanına c den alışıksındır zaten. inheritance la polimorfizm i de öğrendinmi gerisi fani şeyler ..

    esen kal.

  8. D.D.Güçlü dedi ki:

    Nesne tabanlı yazılıma C’den değil aslında Java ve Objective C’den alışkınım.

    Lakin bizim lisede bilgisayar bilgimiz, o ya da bu siteden crack bulmak, birbirimizi hacklemeye çalışıp kendimizi hacklemekten öteye değildi 🙂 Lisede web sitesi yazdığını hatırlamıyorum 😀

  9. şafak dedi ki:

    Bugün mysql serverımın olduğu server bluescreen yemiş ve bir databaseimin bir tableındaki sadece 1 tablo errorlarda, o olmayınca yurttaki tüm sistem çöktü, torrentler çalışmıyor, napacam bilmiyorum, repair dedim olmuyor, başka yolu varsa bilen söylesin lütfen 🙁 Aksi durumda dc işlerini bırakacağım, tüm emeğim gitti.

  10. D.D.Güçlü dedi ki:

    Yazım neredeyse C ile aynıymış. Onları hızlıca geçtim. Şu anda GET, POST ve CACHE fonksiyonlarındayım. SESSİON’a geçtim daha doğrusu. Üstünde çok fazla durmuyorum, daha sonra zaten bunlar random yapmam gereken şeyler olacak sanırım.

    Database operasyonları var bundan sonra. Ondan sonra biraz daha komlike sayfalar arası geçişler vs. var.

    Lakin şunu tam kavrayamadım: urlencode ve rowurlencode bana ne gibi artılar getiriyor. Bunları böyle kullanmasam sorun olur mu? Kaynağa göre php ? işaretine kadar row, devamında url encode etmem gerekiyormuş. Decode etmenize gerek yok server bunu sizin için yapacaktır diyor. Biraz koptum burada. Toparlamak isteyen var mı? 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.