Raylar sert bir PHP geliştiricisi için anlamak mı?

13 Cevap php

i yakut hakkında hiçbir şey ama php hakkında çok şey biliyorum.

Eğer RoR kod zaman ... Eğer gerçekten bir acemi iseniz ne yüzeyinin altında oluyor anlıyorsunuz? ve bunu anlamak için ya da sadece hızlı bir şey inşa etmek için yeterince bilmek için yeterince iyi mi?

Geçiş yapmış kişilerin deneyimleri arıyor.

13 Cevap

IMO C # Ruby on Rails gitmiş olan geri C # için, tam biteni bilmeden Raylar "görüşler" yerine basit uygulamalar ile elde edebilirsiniz olmasıdır. Ancak, barikatlar içine önemsiz bir CRUD görev değil bir şey yapmak ya da normal render a form, user hits post, basic scaffolded create controller action bir şekilde daha farklı bir şekilde bir CRUD görevi uygulamak gerekir zorunda dakika kaçıyorum. Bunu vurmak sonra, Rayları tam olarak ne yaptığını anlamaya Ruby kendisini daha fazla bilgi edinmek gerekir.

Tam bir şey anlamak bir kez çoğu şey gibi, küçük bir adımda aşağı bakmak ve ilk ona baktığında gördüğün dağ hatırlıyorum. Evet Ruby bu nedenlerden dolayı, en geliştiriciler için anlamak zordur, söyleyebilirim:

  • Ruby bazı çok güçlü, ama daha az yaygın programlama kavramları vardır. Bu yüzden bazı kavramsal öğrendiklerini orada olduğu için.
  • Bunun üstüne, çoğu programcı ben, onların kemer altında bazı tecrübe ile, rastlamak zaten onlar içinde çalışıyoruz belirli bir dil veya etki yapıları kullanılarak inşa ediliyor bu kavramlar dışında, programlama ne olduğu hakkında temelleri ve kavramları inşa ediyoruz.

Ben verebilirim en iyi tavsiye, her dil / framework / dev ortamı sadece makine / ağ yönlerini manipüle one yol sağlamasıdır. Hata this tek yol olduğunu düşünmektir. Ruby düşünme yaklaşım varsa, bu nasıl birçok durumda, yüzeyin hemen altında, böyle olmaz, çünkü o, mücadele bekliyoruz, PHP ile ilgisi nedir.

Somut bir örnek:

  • Benim döngüsü 'for' nerede? et mücadele vous

ancak sorarsanız

  • Nasıl ben bu dizinin her elemanı için bu kod parçası çalıştırabilirim? Sen çok güzel cevaplar bulmak ve hiç ilk etapta döngü için bir vardı neden merak edeceksiniz. Ama unutmayın, bugün Ruby var daha iyi yolları var!

Peki tüm Ruby bu güç ve aynı raylar çerçeve ile, kendinizi temellerini öğrenmek için biraz zaman borçluyum. Evet çok sınırlı bilgi ile, raylar gibi şeyler ile harikalar yaratabilir. Eğer kemer altında öğrenme katı yakut yıllık bir çift ile neler yapabileceğini düşünün.

Peter Norvig adında çok iyi bir kağıt yazdı Teach yourself programming in ten years. Ben bir göz alarak tavsiye ederim.

Ben de The Ruby Programming Language bir kopyasını alıp öneririm. Benim için yakut php.net bulunuyor.

Şimdi birkaç yıl için bir PHP geliştiricisi olmak, ve bir C ve C + + arka plandan geliyor, ben PHP sonra Ruby öğrenme (sübjektif, ama çok soru) hiç de zor olmadığını söyleyebilirim. Yakut, tabii ki, PHP değişir kendi deyimler ve 'en iyi uygulamalar' kullanıcısı var, ama Ruby eğlenceli ve öğrenmesi kolay bulacaksınız düşünüyorum. PHP 'FRİKİKLERİNDEN' çoğu Ruby mevcut değildir, bu yüzden biraz daha kolay dil öğrenme yapar. Eğer OOP arka planda herhangi bir tür varsa Artı, sen Ruby anlamakta kapalı çok daha iyi olacak.

Diğerleri işaret gibi, yeterince hızlı Ruby on Rails ile basit uygulamalar inşa edebilirsiniz, ancak herhangi bir ağır kaldırma yapmak gerekiyorsa Rayları nasıl çalıştığını altında yatıyor anlamaya başlamak zorunda ve edeceğiz. Bu PHP ile daha farklı ve bunun böyle CakePHP veya CodeIgniter gibi çeşitli çerçeveler, bulunuyor.

Ben de RoR öğrenme ilgilenen varsa kitap Rails for PHP Developers göz atmanızı öneririm.

http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition - Sen "Agile Web Rails ile Geliştirme" aldı eğer iyi olurdu

Eğer istediğiniz gibi her şeyi gibi, sizin kadar öğreneceksiniz, temel soruyu cevaplamak için. Eğer başlık altında ne olup bittiğini anlamak gerekiyor, hayır. Eğer ExpressionEngine kullanarak bir web sitesi oluşturmak için nasıl çalıştığını bilmek gerekiyor mu?

Ruby öğrenme için olduğu gibi, bu son derece tavsiye edilir. Önemsiz web ötesinde bir şey Ruby ve deyimler bilmek ve anlamak için gerektirir.

Ben php den Rails gidiş ile en büyük sorun geliştirme yöntem olduğunu düşünüyorum. Çok fazla PHP görünümünde oturan mantığını, ya da bir sürü ile oluşturulur. Raylar uygulamaları tüm mantık modellerinde mevcut ile oluşturulur. Bunu anlamak, o zaman zaten anlayış Raylar içine uzun bir yol vardır.

Kaynaklara gelince, ben David Black tarafından kitap Ruby for Rails: Ruby Techniques for Rails Developers elde öneriyoruz. Bu bir Ruby geliştiricisi olmanın bir Rails geliştiricisi sizi almak için tasarlanmıştır.

Yukarıda listelenen tüm diğer kaynaklar için +1.

Kitap (Eric +1) alın. Ayrıca kontrol http://railscasts.com/

Ruby zor olabilir, Ruby ile Ruby yazma kolay! Dil, doğal ve gerçekten güzel okur. Raylar uygulamaları dağıtma nerede (IMO) sorun yatıyor. Iyi PHP biliyorsanız eğer sizin gibi bir kitap var, özellikle, hiçbir sorun olacak Rails for PHP Developers

Ah evet ve size özel raylar adresi gibi, bir güncel, en kaynakların muhteşem dizi var Rails Guides. Burada birçok cevapları büyük bir tavsiye çok ek olarak.

Sırayla soruları alarak -

(Ben daha önce birkaç yıl boyunca Ruby uğraşmaya olmuştu rağmen) ben Rails ile çalışmaya başladı hiç de doğru bir şeydi - Bu gün ben çerçevesi içinde oluyor ne adil biraz anlamak

Sen Rails anlamak zorunda değilsiniz, ama gerçekten, really MVC (Model-View-Controller) modelini anlamak için yardımcı olur. Çok hızlı bir şekilde uzun bir yol alabilirsiniz, ama bir şey üreten birçok şey, gibi gerçekten kaliteli sıkı çalışma gerektiren gidiyor.

Dilde (IMO) olarak Ruby ve PHP arasındaki felsefe arasında önemli farklılıklar vardır. Ruby sözdizimi daha tutarlı ama onun güçlü OO plan müzakere için önemsiz olmayan bir öğrenme eğrisi var demektir. Ben onu, YMMV, neden bir test sürüşü için götürün değmez mi?

Ruby programlama kitabı esastır. Siz Rails uygulamaları yazmak için Ruby makul bir anlayış olması gerekir, ya da günün büyük bir duvara kafa vurma olacak. Ben de daha iyi şeyler nasıl yapılır, en iyi uygulamaları vb anlamak için GitHub diğer Raylar projelere bakmak öneririz

Zorlandığınız zaman sonra, Yığın taşması özel soru gönderebilir ve biz yardımcı olmak için burada olacağım :)

Quote from you

... Eğer RoR kod zaman ... aslında bir acemi iseniz ne yüzeyinin altında oluyor anlıyorsunuz?

PHP ve RoR kıyaslanamaz. Ruby kendisi ancak, kendisi çok daha dil tarafından yazılmış daha sonra karmaşık bir MVC mimarisi kullanan bir uygulama çerçevesidir Rail sadece PHP ve diğerleri, Ruby gibi kendi sözdizimi ile bir programlama dilidir.

Böyle CakePHP, CodeIgniter veya Zend Framework gibi herhangi bir PHP MVC çerçeveler aşina iseniz, o zaman çok fazla zorluk onlar (MVC çerçeveler varyasyonları) tüm temelde benzer olarak sözdizimi farkı anlamaya çalışıyorum olmamalıdır.

Ben Ruby PHP geldi, ve bu hiç zor değildi. Ben Ruby genelde yazılı nasıl bir fikir almak, Rails ile oynamak öneririz. Eğer gerçekten gerçek bir şey oluşturmaya başlayabilirsiniz Sonra, bir kez sen daha iyi şeyler yapmak için nasıl anlamak için Ruby dalmak zorunda gidiyoruz. Ruby kendisi Öğrenme çok okunabilir ve anlaşılabilir olması için yapılmış, çok zor değil. Ancak, bu blok ve metaprogramming gibi onun en önemli özelliklerinden bazıları anlamak emin olmak için önemlidir.

Önce blokları anlamak için geldiğinde, benim için gerçekten Ruby gözlerimi açtım bir şeydi. Bu :) beri tüm iyi şeyler oldu.