CakePHP Model Adı PHP Saklıdır Word'ü kullanır

3 Cevap php

Hey şeylerin bir dizi için CakePHP'ye kodlanmış ama şaşırtıcı önce bu sorun koştu hiç. Ayrıca ben iyice net ve CakePHP belgeler arandı ve benim soruya bir cevap bulamadı. Benim soru ben bir PHP kullanımına ayrılmış anahtar kelime beri açıkçası ben bile bu ismi kullanamaz, Sınıf adlı olmalıdır benim modeli için bir tablo var, bir. Ne seçenekleri Ben uygun bu model için başvurmak mümkün olmaya gerek yok.

Şimdiye kadar var;

  1. Benim sınıf modeli dosyası player_class.php yeniden adlandırıldı
  2. PlayerClass benim sınıf modeli sınıfı yeniden adlandırıldı
  3. 'PlayerClass' için var $ adını değiştirdi
  4. Benim sınıf modeli sınıfına eklendi; var $ useTable = 'sınıflar';
  5. Benim sınıf denetleyici player_classes_controller.php yeniden adlandırıldı
  6. PlayerClassesController benim sınıf controller sınıfı olarak yeniden adlandırıldı
  7. 'PlayerClasses' için var $ adını değiştirdi

Bu işi yapar iken, bu ben _Class gibi bozma her türlü yapabilirim gibi, hala Sınıf olarak bakın edebilmek için diğer seçenekler için yapılır ya vardır gereken nedir?

3 Cevap

Ben genellikle ne yaptın sorun bu tür içine çalıştırdığınızda, yalnızca i ile "My" i kodunu okurken o sınıf "Player" ile ilgisi var gibi (bu yüzden görünmüyor .. amaçlı sözcüğünü önek . Örneğin, sadece diğer gün i "ACO" modelini modellemek istedim .. ama o zaten kek (kelimesiyle aynı senaryo) yaşamış yüzden Myaco adında bir model oluşturdu.

Ben sadece bunu Sınıfım isim gerektiğini düşünüyorum.

Model adı ve denetleyici adı ile ilgili değişiklikler-i iyi yaptığını düşünüyor, ben aynı yapardı. Sizin tek gerçek seçenek DB tablo kullanmak için $useTable = 'classed'; kullanmaktır.

Eğer çizgi öneki kullanırsanız, ben (o Inflector sınıfında başarısız olacak) kek işlemek mümkün olmayacak inanıyorum.

İyi şanslar

Onlar Model adları olarak kullanılabilir eğer once Cake 1.2 için her CakePHP sınıf isimlerini test, burada sonuçlar:

NOT possible is:

app
appcontroller
appmodel
behaviorcollection
cache
cacheengine
cakelog
cakesession
classregistry
component
configure
connectionmanager
controller
datasource
debugger
dispatcher
file
fileengine
folder
helper
inflector
model
modelbehavior
object
overloadable
overloadable2
router
security
sessioncomponent
set
string
validation

Possible is:

acl
aclbase
aclbehavior
aclcomponent
aclnode
aclshell
aco
acoaction
admin
ajaxhelper
apcengine
apishell
app_model
apphelper
aro
authcomponent
bake
baker
bakeshell
behavior
cachehelper
cake
cakeschema
cakesocket
consoleshell
containablebehavior
controllertask
cookiecomponent
dbacl
dbaclschema
dbconfigtask
dboadodb
dbodb2
dbofirebird
dbomssql
dbomysql
dbomysqlbase
dbomysqli
dboodbc
dbooracle
dbopostgres
dbosource
dbosqlite
dbosybase
element
emailcomponent
error
errorhandler
extracttask
flay
formhelper
htmlhelper
httpsocket
i18n
i18nmodel
i18nschema
i18nshell
iniacl
javascripthelper
jshelper
jshelperobject
l10n
layout
magicdb
magicfileresource
mediaview
memcacheengine
modeltask
multibyte
numberhelper
page
pagescontroller
paginatorhelper
permission
plugintask
projecttask
requesthandlercomponent
rsshelper
sanitize
scaffold
schema
schemashell
securitycomponent
sessionhelper
sessionsschema
shell
shelldispatcher
test
testsuiteshell
testtask
texthelper
themeview
timehelper
translate
translatebehavior
treebehavior
viewtask
xcacheengine
xml
xmlelement
xmlhelper
xmlmanager
xmlnode
xmltextnode

Ben ikinci bu çözümü olabilir. Ben aynı sorunu vardı ve müşteri baş harfleri olan bir önek kullanılır. Dtclass mayın arama sona erdi. Ne yazık ki, bu sorunun ne olduğunu anlamaya bana bir saat kadar sürdü. Sonunda onu tanımak kadar cevap karşısında her zaman bakıyor, bu durumlardan biri.