PHP Web App Tasarım

5 Cevap php

Bir web sitesi tasarlama yöntemi anlamak için bir rehber arıyorsanız, ya da basit duyuyorum.

Ben zaten PHP çeşitli şeyler yapmak için nasıl iyi bir fikir, OOP temel bilgi ve işlevleri vardır ve ne değildir ...

Ama yolda beni tutmak ve bana ne yapmaları gerektiğini bildirmek için, bazı yapıya ihtiyacımız var.

Bu konuda bana yardımcı olabilir herhangi bir web sitesi, kılavuzları veya yöntemler var mı? Ya da belki bir uygulama, istemci veya web-app ...

5 Cevap

Öncelikle app yapmak için gidiyor ve kim kullanmak için gidiyor ne karar vermeniz gerekir.

Sonra use cases kullanıcıların ne olacak tam olarak ne planlama başlamak için oluşturabilirsiniz. Hatta sopa rakamlar ve oklarla süslü küçük diyagramlar yapabilirsiniz.

Sequence diagrams ve ekran mockups sistem nasıl çalışacağını planı yardımcı olacak ve ne gerekir sayfaları.

Ayrıca tabanlı bir UML class diagram, hangi gerçekten yöntemler ve değişkenler ihtiyaç duydukları yanı sıra tasarımı için yolda sizi ne alırsınız dahil, yapmak gerekir hangi dersleri dışarı planı yardımcı olabilir yapabilirsiniz web sitenize uygun veritabanı.

Bunları yaparken sadece yarım-yamalak bunu bile doğru atlama ve kod yazmaya kıyasla tür sıkıcı veya topal görünebilir, ama vaktinden düşünmeye zorlar çünkü tuzaklar bir ton önleyebilirsiniz.

Oradan aslında bağımlılıkları ve öncelikleri tarafından ciddi bir TODO listesi ve sipariş görevleri yapabilirsiniz. Ben metin dosyalarını kullanabilirsiniz. Bu kıyafet çözüm değil ama benim için çalışıyor.

Edit:

Benim kendi süreci genişletilmesi. Bu benim kendi projeleri üzerinde başıma çalışırken ben ne olduğunu unutmayın.

Ben bitti yukarıdaki tür var, ben yapacağım bir sonraki şey, aslında, böyle bir şey veritabanı tabloları yazmak edilir:

USERS TABLE
===========
user_id (PK) unsigned int (10)
username varchar(30)
email_address varchar(30)
is_active bool
password varchar(41)
registration_date datatime
registration_ip varchar(20)
last_login_ip varchar(20)
last_login_date datetime

Vb ... Tüm tablolar için. Sonra arkanıza yaslanın ve tabloları birbirine nasıl ilişki bakmak, eksik ne olabileceğini düşünmek, ve normalleştirmek / app özellikle yazılı gerekir sorguları inşa ediliyor için mantıklı kadar denormalize. Evet ben bir metin dosyasına bunu.

Diğerleri, MVC tasarım deseni gibi ben şiddetle tavsiye ederim. Bu ne yapmak istediğinize uygun olmayabilir, ama genellikle çoğu web uygulamaları için uygun ve uygulamak ve sürdürmek için onları çok daha kolay hale getirir. İstediğiniz son şey spagetti kodudur.

Eğer MVC kullanmak için gidiyoruz eğer öyleyse, size (en önemli parçası) yazma yanı sıra, kontrolör ve görünümü dosyaları için ne gerekir modelleri oldukça açık olmalıdır.

Yani bu ben ne yapmak gerekir nasıl organize olduğunu:

TODO
- create database tables
- user registration
- authentication
...

SECURITY
- sessions in db table
- xss cleaning in form x
...

vs!

Ben bunu yapmak için gereken şey düşünmek her zaman bir noktası olur. Açıkçası bu noktaları kolayca daha fazla dışarı genişletebilirsiniz. I what I feel like working on next (ileri taşımak için en kolay yoludur çünkü) tarafından ve diğer görevlerden önemi, ya da bağımlılık onları sipariş deneyin.

This might seem silly to some, but this is how I keep track of things. Hope it gives you some ideas.

Dürüst olmak gerekirse, benim için iyi çalıştı ne basit bir 'bunu önce yazmak' yaklaşım olmuştur. Sadece servis işleyecektir nasıl planlamak için zaman ayırın, bir şeyler yeniden yazmak zorunda değil daha sonra çok zaman kaydedebilirsiniz!

Bu sadece ne yapmak istediğinizi yazmak, ve bunu nasıl size çok yardımcı olacaktır yapabilir gibi geliyor.

Ne demek, vb site yapısı, kod düzeni ise this cevap yardımcı olabilir.

Başlamadan önce Her şeyden önce ben, diğerleri bir kaç şey yazmak hakkında ne dedi katılıyorum - bu sadece gayrı bile. Bu her zaman konuların ne çalışmak ve ne ihtiyacınız olacak parçaları olur.

Eğer kullandığınız bazı teknolojilerin biraz yeni iseniz, benim için bir hile ilk birkaç daha az iddialı örnekler üzerinde başlamaktır. Kötü bir kere bunu yaparken de bir ikinci defa bunu nasıl öğretecek, çünkü dolaşmak ilk olarak korkunç bir şey yazmak için korkmayın. Ne yapıyorsan, Merhaba Dünya senin arkadaşın.

Ben Gavin katılıyorum: the article Gavin atıf açıklandığı gibi, Model-View-Controller hakkında bilgi sahibi olmalıdır.

Size dosyalar için bir temel düzen verecek ve (modelini planlarken) bu veritabanına düşünmek yapacaktır.

Proje hakkında daha fazla düşünmeye kendinizi getirmek için bir yolu eşinizle bir program together bulmaktır.