nasıl benim php projede dosya adlarını yönetmek

5 Cevap php

Ben PHP projesinde dosya adları yönetimine ilişkin bir sorun var.

Ben projemde PHP dosyalarının büyük bir dizi var ve ben bir PHP dosyasını yeniden adlandırırsanız, o zaman bu bu dosya için eski adı kullanılan yerlerde her yerde dosyanın adını değiştirerek neden olacaktır.

I have adapted a solution to this approach but don't know if it is effecient enough (want to know if there is another approach or solution available?).

The approach is as follows:

  1. Foto: Bu gibi ifadeler tanımlamak sahip bir php dosyası oluşturun

    define("FILENAME_ADD", "addfeedback.php");
    define("FILENAME_EDIT", "editfeedback.php");
    define("FILENAME_DELETE", "deletefeedback.php");

  2. Eğer (genellikle oluşturduğunuz her dosya) dosya adlarını erişmek istediğiniz her dosyada bu php dosyası içerir.

Bu yaklaşımın yeterince verimli mi?

Ben üzerinde çalışıyorum proje tamamen ayyy geliştirilen ancak çok iyi ayyy kavramları kullanmak paginator ve oturumu gibi bazı sınıfların kullandığı değildir.

Lütfen bana yardımcı olun.

Teşekkürler

5 Cevap

Gibi başka bir yerde dedi, herhangi bir iyi IDE otomatik yolları güncelleme olacak ve mümkünse bir naming convention, like PEAR and use autoloading ayrılmamak için iyidir.

define yaklaşımdır kullanırken ana dezavantajı, tüm bile satıcı kütüphanelerini veya PHP tarafından tanımlanan sabitleri ile çatışan yerde ve risk adı üzerinde sabitler çöp bulunmaktadır. Eğer gerçekten ayrı bir dosyada tüm dosya isimlerini tanımlamak istiyorsanız, örneğin, bir dizi koyun

<?php // config.inc.php
return array(
    'addFeedback' => '/file/to/add-feedback.php',
    // ...
);

<?php // MyApp.php
    $config = require_once 'config.inc.php';

Config de XML, YAML veya INI dosyasında ikamet olabilir, ama sonra Yapılandırma sınıf dosyasını okumak mümkün olan çeşit sahip olurdu. Geçerli çerçeveler (ZF, Symfony) genellikle bu yaklaşımı görüyoruz.

Bunun dışında, app dış dünyaya sunmak üzeredir eylemler için dosya adları olan FrontController pattern ve MVC için mükemmel bir Kullan davası. Anılan adlandırma kuralı ve autoloading ile birlikte, hiç artık dosya isimleri de dahil olmak üzere hakkında rahatsız olmaz.

Ben neden bir dosyayı yeniden adlandırmak ve henüz aynı adla sürekli yeniden adlandırmak değil istediğiniz gibi bu gerçekten yardımcı olur, emin değilim? Sen sadece bir adlandırma düzeni benimsemek ve onunla sopa gerekir.

Bir dosyayı yeniden adlandırmak varsa iyi bir IDE, sizin için iş yapacak, referanslar güncellenecektir.

Eh, başka bir seçenek tüm içeren gelmez bir "inc.top.php" dosya olabilir.

Zaten tüm sabitleri ile bir dosya dahil ediyorsanız, neden sadece tüm dosya yerine bu dosyada içerir yapmak ve dahil değil her dosyanın üstünde mi?

Ben bir adlandırma kuralı yapışmasını öneriyoruz olsun-go size "oh ... Ben unuttum olmak üzere döner bir hata izini çalışırken saat harcamak" peynir puf anları "üretme olasılığını azaltmak gerekir, çünkü Benim dosyayı yeniden adlandırmak! "

Neden bir adlandırma kuralı seçmeyin ve sonra sadece tüm çözünürlüğü işlemek için bir autoloader kullanabilir? Ya da bazı standart işlemini içerir. PHP uygulamalarında Binlerce bunu - geliştiriciler 1000 ile WordPress ve Drupal gibi - sıkı kurallarına birlikte en az çaba ile.