forum.ge
reklama
FORUM.GE წესები  · დახმარება  · ძებნა  · წევრები  · კალენდარი  · ჩატი
Pages: (2) 1 [2]   ( გადავიდეთ პირველ წაუკითხავ წერილზე ) გამოხმაურება · ახალი თემა · ახალი გამოკითხვა

> PHP Application Architecture, როგორ აკეთებთ?
Alecoder
M Power


*****
ჯგუფი: Members
წერილები: 3301
წევრი No.: 52696
რეგისტრ.: 29-January 08

გამოგზავნილია: 23 Jul 2010, 13:34  #20799962      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა · im · aim · yim · msn
Kirchi
კი ბატონო მაგრამ, პროგრამის ლოგიკის ცალკე გატანა, დატასთან მუშაობის ცალკე გატანა, ვიზუალიზაცია ცალკე + შემუშავებული მიდგომები. ეს ყველაფერი იერარქიაა არ არის ?
აი მაგალითად, ახლა ხანს ვუყურე როლს როისის წარმოების შესახებ ნეიშენალზე.

უზარმაზარი ქარხანა, როგორც შენ თქვი, ვიღაც ჩონჩხს ასხავს, ვიღაც შკურკავს, ვიღაც ელექტროობას აყენებს, ვიღაც ღებავს, ვიღაც შიდა ინფრასტუქტურას ამონტაჟებს და ბოლოს ვიღაც ტესტავს. ეს ყველაფერი ხდება უზარმაზარი ქარხნის უზარმაზარ ნაწილებში.

ანუ ეს არის იერარქია ქარხნის.

This post has been edited by Alecoder on 23 Jul 2010, 13:40


--------------------
Человеческие возможности не имеют предела

Above & Beyond

Coderolog
Kirchi
Super Crazy Member


******
ჯგუფი: Members
წერილები: 7224
წევრი No.: 4820
რეგისტრ.: 7-April 04

გამოგზავნილია: 23 Jul 2010, 14:01  #20800277      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა
Alecoder
ხო გავიგე რაც იგულისხმე მაგრამ ზოგადათ გამონათქვამი

"ბისნეს ლეიერი არის იერარქია" არასწორია.

ბიზნეს ლეიერი არის ნაწილი - ლოგიკური და არა ფიქიკური
რადგან ის ნაწილია არ ნიშნავს რომ ფიზიკურად სხვა სერვერზე იქნება (თუმცა შეიძლება)

იერარქია არის
http://ru.wikipedia.org/wiki/Иерархия

QUOTE
порядок подчинённости низших звеньев высшим, организация их в структуру типа дерево; принцип управления в централизованных структурах[1].


QUOTE
s an arrangement of items (objects, names, values, categories, etc.) in which the items are represented as being "above," "below," or "at the same level as" one another and with only one "neighbor" above and below each of power is called a power structure. Abstractly, a hierarchy is simply an ordered set or an acyclic graph.


ეგ ლეიერს რაც შეეხება.

ბიზლეს ლოგიკა - არის კიდევ სხვა.
ბისნეს ლეიერი (ნაწილი) შეიცავს (აღწერს) ბიზნეს ლოგიკას

ბიზნეს ლოგიკა უფრო აბსტრაქტული მცნებაა

მაგალითად ის ლოგიკა რომ შაბათს ვისვენებთ და ორშაბათს არა - არის ლოგიკა და არა ლეიერი (ნაწილი)


--------------------

Blog: http://blog.devarchive.net
Youtube: http://www.youtube.com/user/kirchikgmailcom
Alecoder
M Power


*****
ჯგუფი: Members
წერილები: 3301
წევრი No.: 52696
რეგისტრ.: 29-January 08

გამოგზავნილია: 23 Jul 2010, 15:30  #20801304      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა · im · aim · yim · msn
Kirchi
გასაგებია, ჩემს გეგმას მივამატებ ამ თემას და გადავხედავ.
Risley
Life Sucks


****
ჯგუფი: Registered
წერილები: 102
წევრი No.: 179091
რეგისტრ.: 1-January 14

გამოგზავნილია: 23 Jan 2014, 21:53  #39554554      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა
Lekso-Dav

QUOTE
გამოცდილ პჰპ დეველოპერებისგან მაინტერესებს როგორ წყვეტთ პჰპ აპლიკაციის(ვებსაიტის) არქიტექტურას საკითხს?


რაღა თქმა უნდა MVC და მისგან წამოსული შესანიშნავი Event-driven (ასინქრონული) პროგრამირება, ნუ დაიწყებთ პროფესორობას PHP-ს Event-Driven არ აქვსო, mad.gif

MVC რათქმაუნდა აპლიკაციის აგების შესანიშნავი გადაწყვეტაა, მაგრამ თუ გინდა რომ შენი აპლიკაცია იყოს განვრცობადი და მოდულის დასამატებლად ფაილებში n-რიგის ხაზების ძებნა და
ჩანაცვლება არ მოგიწიოს, არამედ შეძლო ერთი ფაილით (ერთი კლასით) განავრცო აპლიკაცია, უნდა დააპროგრამო ასინქრონულად, PHP - მიუხედავად იმისა რომ არის Server-side (თუმცა ეს რა შუაშია facepalm.gif ) გვაძლევს ამის საშუალებას,

მაგალითად:
პირველ რიგში უნდა ამოიცნო მოდული რომელიც შეიცავს ფაილს ერთი კონკრეტული სახელით (ნებისმიერი მოდულისთვის), დავარქვათ - module.php,
და რომელიც შეიცავს საკონფიგურაციო ფაილს, მონაცემით რომელიც მოგვცემს model.php-ში გაწერილი Event კლასის სახელწოდებას,
შემდეგ თითოეული მოდულისთვის გამოვიძახოთ სხვადასხვა კონკრეტული დასახელების მეთოდი სხვადასხვა ოპერაციის შესრულებისას, მაგალითად,

ჩვენ კონტენტი გამოგვაქვს ფუნქციით <?php echo $this->content(); ?>, ჩვენ გვინდა რომ მოდულმა კონტენტის ზევით გამოიტანოს ტექსტი: Hello world!.
ამისათვის content() - მეთოდში უნდა გავწეროთ შემდეგი:

Event::trigger('BeforeContentLoad'); (ამისათვის საჭიროა ივენთ კლასი, რომელიც პირველად ამოიცნობს ყველა თავსებად მოდულს და შეინახავს პრივატულ ცვლადში მომავალი გამოყენებისთვის),
რომელიც გამოიძახებს onBeforeContentLoad - მეთოდს Reflect კლასით თითოეული მოდულისთვის, რომელიც შეიცავს ამ მეთოდს (ასევე ვამოწმებთ Reflection-ით)

ანუ მაგალითად:
class TestModuleEvents extends Module
{
public function onBeforeContentLoad()
{
echo 'Hello world!';
}
}

ზემოთ გაწერილი მეთოდი ავტომატურად იქნება გამოძახებული კონტენტის ჩატვირთვამდე

ანუ ივენთ კლასს ჩავტვირთავთ მოდელში, (მონაცემთა ბაზასთან კავშირის შემდეგ (თუ საჭიროა რათქმაუნდა))
და შემდეგ კონკრეტულ მეთოდებს გამოვიძახებთ გარკვეულ ოპერაციის შესრულებამდე და შესრულების შემდეგ ან შესრულების პროცესში (მაგ: Loop-ებში),
შეიძლება მაინცდამაინც კარგად ვერ ავხსენი, თუ რამე დაწერეთ და შევეცდები გიპასუხოთ ამ თემასთან დაკავშირებით

This post has been edited by Risley on 23 Jan 2014, 21:54
0 წევრი ათვალიერებს ამ თემას (0 სტუმარი და 0 უჩინარი წევრი)
0 წევრი:
Topic Options Pages: (2) 1 [2]  გამოხმაურება · ახალი თემა · ახალი გამოკითხვა

 



ფორუმის სერვერების განთავსებას და ინტერნეტთან კავშირს უზრუნველყოფს: CLOUD9
[ Script Execution time: 0.0181 ]   [ 13 queries used ]   [ GZIP Disabled ]