MVC Bir Mail Model yanlış kullanıyor?

2 Cevap php

Ben e-posta gönderme ile yardımcı olmak benim MVC web sitelerinin bazılarına bir modeli inşa etmişlerdir, genellikle böyle bir şey yapmak

$mail = new Mail_Model;
$mail->to('me@somewhere.com');
$mail->from('you@somewhere.com');
$mail->subject('hello');
$mail->body('hello how are you');
$mail->send();

Ben model model verilere içindir biliyorum - bu yüzden ben bu ihlali ne yapıyorum? Bunun yerine bir yardımcı sınıf olmalı mı? Gibi bir şey ...

Mail::send('me@somewhere.com', 'you@somewhere.com', 'hello', 'hello how are you');

Bu ikinci bir tabii bunu daha okunabilir hale getirmek için adında tuşları ile bir dizi geçebileceği .. Benim için de okumaz.

Yani benim Posta modeli bir model MVC ne olmalıdır ihlal ediyor?

2 Cevap

Bu soru 'Kohana' ile etiketlenmiş beri belki zaten Kohana bir email helper O burada yaptığınızı tam olarak ne yapıyor olduğunu biliyorum.

doğal olarak, benim cevap bir e-posta göndermek için kod bir yardımcı olarak daha iyi uyabilecek olmasıdır.

Posta veritabanına kaydetmeden ya da diğer bazı karmaşık işlemleri yapıyoruz sürece, sanıyorum, gerçekten bir model değildir.

IMO, bu durumda bir nesnenin örneğini muhtemelen çok 'MVC' değil, ve ikinci örnek daha gerçek bir iş mantığı yansımaları ile bir kerelik eylemi gösterir bir kod hattı gibi (en azından benim için) görünüyor.

Ama - çok paradigma tarafından kısıtlı hissetmiyorum! Bu iki seçenekten hangisi daha sonra birlikte takip etmek başka bir kodlayıcı için okumak daha kolay ve daha kolay olduğunu düşünüyorsunuz?