2010-06-15 13 views
5

Für einen bestimmten Client muss ich PHP verwenden. This und this Frage waren 2 Jahre alt. Ich würde gerne wissen, gibt es eine Aktualisierung der Meinung für das Jahr 2010?Welches PHP-Framework für einen RoR-Entwickler?

Mein Hintergrund auf Web-Entwicklung ist vor allem Schienen. Ich kann in PHP programmieren (zum Beispiel ein Modul für Drupal schreiben), aber nie ein PHP-Framework für irgendein Projekt verwendet haben.

ich die folgenden möglichen Funktionen sehen in meinem Projekt benötigt werden:

  • authlogic -ähnlichen Benutzerzugriffskontrolle
  • will_paginate -ähnlichen Paging für lange Listings
  • paperclip -ähnlichen einfache Datei-Upload
  • prawn -ähnliche PDF-Generierung
  • erholsame URL

und mein persönlicher Favorit ruby ​​/ Schienen Merkmale:

  • active
  • <% @list.each do |item| %> synstax statt for ($i=1; $i<=$row_num; $i++) ...
  • rake:db migrate
  • script/console

Dank!

Antwort

7

Bitte, um all das, was gut und heilig ist, schreiben Sie nicht Rails in PHP! Ruby-Idiome und Rails-Idiome lassen sich einfach nicht gut in PHP übersetzen. Hölle, bis 5.3, konnten Sie ActiveRecord nicht sogar ohne wahnsinnige hackish Workarounds wegen der Beschränkungen von PHP tun.

Probieren Sie ein modernes Framework wie Kohana oder vielleicht etwas mehr Engineered-OO wie Zend Framework. CakePHP versucht Rails-ähnlich zu sein, steckt aber in der Vergangenheit von PHP4 fest. Vermeide es!

+0

+1 für Kohana - Ich habe es noch nie benutzt, aber ich habe gehört, dass es einem Rails-Entwickler so nahe kommt, wie es PHP möglicherweise kann. – Jeriko

1

Ich bin nicht wirklich mit PHP-Frameworks vertraut, aber lassen Sie mich Ihnen mit dem Übergang nur ein wenig helfen:

Rubin/Rails verfügt über PHP:

<% @list.each do |item| %> 

ist das gleiche in PHP als:

<?php foreach($list as $item): ?> 
...(HTML)... 
<?php endforeach; ?> 

Und für script/console Sie PHPSH (entwickelt von Facebook) verwenden können, finden Sie unter:

http://www.phpsh.org/

Hoffe, das hilft! Matt

3

Ich habe kein PHP-Framework gefunden, das Rails nahe kommt.

Ich habe CodeIgniter in mehreren Projekten verwendet, als ich in PHP entwickeln musste, aber mein Ansatz hier ist es, einen minimalen Rahmen zu haben und die meisten schweren Aufgaben selbst zu erledigen.

Ich habe CakePHP ziemlich ausgiebig benutzt und es ist sehr schnell kaputt gegangen, weil es dachte, es könnte Rails sein - Ruby kann einige Dinge, die in PHP unmöglich oder schwierig sind, ziemlich leicht machen.

Mein Rat ist, sicherzustellen, dass Sie eine Prämie für die PHP-Arbeit berechnen - es dauert im Allgemeinen 25-50% länger, um ein PHP-Projekt abzuschließen.

+0

Ci ist der Weg zu gehen! IMO – ggfan

4

Wie von Charles gesagt, versuchen Sie nicht zu kopieren, was Sie in Ruby mit PHP tun können.

Das heißt, es gibt mehrere gute PHP-Frameworks. Einige wurden bereits hier gegeben.
Ich möchte nur Symfony zu der Liste hinzufügen.

Es ist in vielerlei Hinsicht von Django inspiriert. Aber Sie werden auch einige ähnliche Ideen aus den Schienen sehen.

Verwandte Themen