Birden PHP kullanarak kötü bir fikir içerir?

7 Cevap php

Ben bir PHP sitesi oluşturma sürecinde yaşıyorum. Hepsi bir PHP anda birden çok PHP sınıfları içerir kullanır.

Ancak, Aptana IDE kullanıyorum ve dosya şimdi (etrafında 400 çizgiler var) çökmesine başlıyor. Yani ayrı ayrı tüm dosyaları da dahil olmak üzere herhangi bir olumsuz etkisi olacağını olup olmadığını merak ediyordum.

Current:

Ana dosya:

include("includes.php");

includes.php:

contains php classes

Suggested:

mainfile: Ana dosya:

include("includes.php");

includes.php:

include("class1.php");
include("class2.php")

7 Cevap

Birden PHP içerir ince ve 400 hatları büyük bir anlaşma olmamalıdır. Hatta benim kod sorun olarak düşünün önce benim endişe Aptana IDE ile olacaktır.

Birden PHP modülleri içine kodunuzu kesiliyor bir daha nesne yönelimli yaklaşım almaya yardımcı olur ve kod tabanı kolaylaştırır. Ben bunu tavsiye ederiz.

Ben aksi takdirde gerçekten iyi bir nedeniniz yoksa genellikle sadece, derin bir 'düzeyi' gitmeli içerir düşünüyorum. Ne olacak bazı sorun aşağı kovalayan ve üzerinden dosyaları dahil yabani kaz kovalayan oluyor sona erecek ve hatta neredeyse kesinlikle bir kod koku "include_once" veya "Require_oncenin", gibi şeyler kullanarak sonuna kadar ihtimaliydi.

Çoklu iyi kodunuzu Örgütleme en iyi yolu sadece ilk that im onunla sıkışmış neden ben bilmiyorum idam olur, i de tavsiye ederim, ama bazı durumlarda, (benim gibi) içerir

Çünkü 400 satır dosya çökmesini bir IDE? Ben yeni bir IDE bulmak istiyorum.

Ancak, ayrı dosyalar halinde sınıfları ayırmak için daha iyidir. Belki değil kesinlikle bir dosya başına sınıf, ama aynı dosyada sadece yakından ilişkili sınıfları.

Sadece iki dosya için, maliyeti çok büyük olmayacak; dosyaları yüzlerce, daha sonra, düşünülmesi gereken bir sorundur, biraz fazla olabilir ... Ama belki "nasıl hangi dosyaya gider ne belirler?"

Bunun için güzel cevap "dosya başına bir sınıf" olduğunu; ve, bu için, "functionnal madde başına bir dizin"

Eğer sunucu üzerinde uzantıları yükleyebilirsiniz eğer, bir opcode önbellek kullanarak düşünebilirsiniz; Örneğin, ben hemen hemen her zaman APC yüklemek oldukça kolay olan, (PHP manual ayrıca bkz) kullanılarak ve bazen 2 CPU yükü ile bölebilirsiniz (performansları için gerçekten iyi çalışmak Bir sunucu ^ ^)

Just as a sidenote : if Aptana can't handle 400 lines files, you should really think about using another IDE ^^ (Eclipse PDT is not bad if you have 2 GB of RAM -- eclipse-based, like Aptana, so shouldn't be too "new")

Şahsen, ben ayrı ayrı dosyaları dahil etmek istiyorum. Eğer her sayfada her sınıf eklerseniz, sadece belki de diskten dosyaları, vb okuma ilişkili yükü ile birlikte bu sayfada kullanılmayan kod birçok işleyerek ayrıştırma yükü artar

Bu, daha fazla disk I / O gerektirir Sense negatiftir Ancak, üretim aşamasında zaten opcode önbellek kullanmanız gerekir, ve bu olumsuz etkinin çok inkâr edecektir.

Olumlu tarafta, her sınıf tek bir dosyaya ait daha iyi bir kod yapısını, başaracaktır. Bu test daha kolay hale getirir ve aynı zamanda böylece sadece gerekli dosyaları okuma, talep üzerine otomatik yük sınıfları sağlar.