33. 实体Entity概述

龷龴龱龭龩龥龤龡龠龝龚龗龖龕龓Entity龀齼齹齼齵齴齱齯齹齮齬龭龗齪齦齤齢齠齟齜齛齵龚齘龕龓齜齖齒齏龩龥齋齉龕龓齼齆齪齦齄齢齀齆鼿鼾鼽齦鼹鼸齢鼵鼱齵齪齦鼰鼭齦齢drupal齋齉龕龓鼚鼗鼓鼐鼏鼎齒鼌鼊齵鼆龗drupal齋齉龴鼃鼂齼龕龓黿齀齆鼾龭黾黻黷鼐齹黳黯齒齵黭黪黧黻黤drupal黣黠齒點黜黛齼龓默龭齀黭黖黓黐齒entity鼸黉黆黂麿麼麺龕龓麶麲麯麶麫龭麶麪龓齒麦龕龭齹麥鼸龠龝麤龕龓齵齹麥鼸麢麞齒麚麙齠齟點麖龗麔麑麍麌麋麉鼸麆麅鼆麁龓齼鼱齆麆麅鼆鼸龕龓齒鹾鹺龕龓齹龴麢鹹黤鼎齼鹵鼸鹴鹲黤鹰鼸麪麯齒麙鹯鹭鹲齘鹩鹨鹧鹣鹡鹟鹞鹚齒齋齉鼸鹖鹕鼆麪鹔點麖鹲鹓齼鹐鹎鹊鹈鹇鼸龴齆齆龕龓齒鹄齀齆鹁鹀鹲龕龓黛齼龴鸿麫龭齒龭鸼鸹鹇龕龓齵龴黭鸸鸷齒鸳鸱麙鸭麺


龕龓(Entity):鹡黯麫龭鸣點鸠鸟鸝鸛鼸鸘麪鸖鸕麼龕龓鸓
鸑齹鸎點鸋齮鼸鸊鸈齼齵鸄鼸鸁鷿
龕鷾麫龭鼸麪龓齒麪麯


點麖鷽鷻龴鸭鼰鷸龕龓齀齆鼾鼸鷶鷴鸸鸷齒龭龩龥鹇龕龓麖龖龕龓(Entity):鹡黯麫龭鸣點鸠鸟鸝鸛鼸鸘麪鸖鸕麼龕龓龀鹓鸸鸷齼麚鷱鷰鷯鼸齒齵鷭齀黭鷪鷦齠齟鼹鹲龴鹲drupal鹇鼸龕龓齼齪齦鷣鷠鸓

让我们从一个例子开始:

鷝鷛默龭鷚齠齟齹鷙鷗鷓鷐鷍鷋齒黳鷊鷗php鷄龤龡龴齆鷃鷃鼸鷀鶿鼭鶼齒齠齟鼎鹓黭齪齦齤齢
鶻鶺鶶龴齆鶳麲齒鷗鼹鶲鶮龴齆鶭鶬鷀鶿鼸鶩鶨鶤齉齒鷊鹴鶶龴齆鶳麲鼹鶣鶢鶩鶨鶠鶝鶜鼸鹐鶘鶔鶓麫鶑鶍齒鶋鶶龴齆鶳麲鼹鶈鶘url鹇鶠鶝鼸id鼹鶇鶃鷀鶿齒麙鹯鶁鼎鶀鵾鷶鷀鷀鶿齒鼱齦鼓鶁鼎龴齆鶳麲黪鵻鵷鶓麫鼸鷀鶿齒鹺鶜鵴鹐鶘鵳鹰鶠鶝鶩鶨齋齉齒鶋鵴鶩鶨龡鵱鵯鵬鵪麅齒鷗鵧鶀鵾鶜鶠鶝鹰鶭鶬鶳麲齒鼎鵬鵪鷀鶿黤鶶龴齆鵤鶩鶳麲齒鵠齹鷭鼎鵝鵚齹鷯鷰鼸鷀鶿鼓鶁鼎鵝鵚鶳麲齒默龭黛龤龡鵗鷭龴齆鵕鵓鶨鼸鷀鶿鼭鶼齒點黜鵑鷴鷃鵎鵋鵉黠php鵈齵齘齀鵅鼸齜鵁黐鸓
鵉鴽鼸鷀鶿鼭鶼鸄麉鶜齒鼐鴺齠齟龡默鷭齹鴹齒齠齟鹲鹰鶲鶮鷭鶭鶬麶鶓麫麶鷶鷀麶鶇鶃麶鵤鶩麶鵝鵚6齆鶳麲齒鴴鴰鴯鷭鴬默龭齠齟鵾鷗齉鴫麤鷦鴩鴦齒麢麞龴齆鷀鶿鴣麺news齒齋齉鴜鴚6齆黓鴘鴰鸛鶣鶢鼱6齆鴗鶍齒默龭6齆鶳麲鴕麼龴齆鴣鶳麲鷭齒鷗麖鴑鴎鼸url鹇鴋黷黓鴘鼿鶍麼鴉鹐齒鶤齉鴅鴃鹔點麖鴰鴀鵗鼹鶓麫鹰鴅鴃黆龥鳽鹇齒默龭齀齆鷀鶿鼭鶼鴕鼸鷶鴋鳹鳵鷭齒鹔鷶鴋鷰鶢鷭鴬

默龭鹲鳱鼹齠齟鼸鷀鶿鼭鶼鳰齜鼐鼚鷭齒齏麲麯黷鳮鳬齼麖齉鴫麤鷦鴩鴦黓鳩鳨鳧鹴龴齆齉鴫齘鴦鼸鷠鳣鸊鳰齒鷚齠齟鳟鳜麖齉鴫麤鷦鼸黓鳩齒龡鳚oop鼸鳔鳐齒鵴龴鼃鳍鹲鹓麤鷦齒鷊鹴鼹鹲齀齆鳌鳉齒鳆鳅鳃鳂鲿齒鼹鲻鳮鹓麉龴齆鵓鶨鼸cms鼭鶼齒齵鷭齀齆鲷鴘鶜龡默鷀鶿鼭鶼鳬齹齘齼cms鹇鼸龴齆鳉麤鷦鸊鳰齒鲷鹰鷭龴鸿鷀鼸黓鴘鼹龕默鷀鶿鼭鶼齒鲵鷗鲱鲰齹龴鵅鼸黓鴘齒鲮鹺鷗龴齆鴣鼹龕默鷀鶿鼭鶼齒龡鳚OOP鼸鳔鳐齒鲧齆鷀鶿鼭鶼鷗龴齆麤鷦鶩鶃齒鳬齹齘鳮齼龭cms鹇鸊鳰齒鲣鲷鳮鼸鷙鷗黓鴘齼齀鵅鼸麺(鲟鲞鲝鲚鲖鸝)

鵚鷭齀黭齒鼓點麖鼐鲓鲑鼸鴋鵑鷴鲏黜鹰齀齆鷀鶿鴣黷齉鷄齒麚麙鶓麫鷀鶿鼸鵈鲍點麖鲋鲉鹐鶘鲇鲄齒鲃鳂鱿鱽麼鱼麌麌齒鳬鶁鼎齀鵅麺
$isOk=$new->validate();
鼓點麖鹓鱤鱣鱢鱡齒齀鵅鼹麺
$isOk=$new->access($operation, $account = NULL );鱘
鴉鹐$operation麼鴗鶍鱿鱔齒麙龖create龀麶龖delete龀麌麌齒鴉鹐$account麼鱒鵧麤鷦
鼌鼊鼎黤鹰鱐鱌鷀鶿鼸url點麖齀鵅麺
$url=$new->toUrl();

$new=new news(); //初始化新闻系统,新闻系统的所有逻辑都在这个类里面  
$new->create($arr); //创建一篇新闻,参数是一个数组,作为可选值,键名为新闻的字段名、键值为字段值,如:['title' => '这是新闻标题内容', 'body' => "这个是新闻内容"]  
$new->title="新的标题"; //创建后还能修改或赋值所有的新闻属性  
$new->save();//创建好了,这个对象自己负责保存新闻到数据库,cms程序简单的调用一个方法即可  
$new->load($id); //简单的调用一个方法就可以将以前保存的某篇新闻初始化到一新闻对象中  
$new->delete($id); //简单的调用一个方法就可以删除某篇新闻  
echo $html=$new->list(); //显示新闻列表  
echo $html=$new->toString (); //显示新闻  

齀齆龕默鷀鶿鼭鶼鼸鲷鴘龕龭齼鴴鱋鷭齒龭cms鹇鼵麦鱉麋龥鼸鷊鱅鹹齛鵓鶨齒鸊鸈鴗鶍鲓鲑鴬
鱁鵈鱀齹鰼鲷鷠鰸齀齋鼸$new麤鷦默龭麉鷭齪齦齤齢鳮鳨鰵鹴鷀鶿鼸鹐鶘齒鼓齵麤鷀鶿鼸鰴鴣鴗鶍齒龴鼃鳍鴕黤鵓鶨鷭鸓

龗鹰齀齋鹭點黜鳰齜龤鰲鷭齒鳮鴬黛齼龕龓鴬龖鹡黯麫龭鸣點鸠鸟鸝鸛鼸鸘麪龀鴬齀齆鲷鴘黛齼drupal鹇龕龓鰱鰭鼸鵕鵉鼹鰪齒龕鷾鹇drupal鼭鶼齋鼸龕龓鰱鰭默龭鳰齜龡鰧鼸鷶鴋麉鰦鼵鲰齉鸓

鱘鱘鱘 鰣鹴齀鸿龤鰲鼸鰢鰡齒鷊鹴鹲鹲齀齆$new龕龓齒齠齟龡默龭cms鹇齹鳂齼鷀鶿點麖齀齦鰠齒麦鱉鼸鲚鲖麚麙麺黆鰞麶鶲鰛鹔點麖齀齦鰠齒鳬齹齘鴣鰙齹麥鸊鳰齒齀齋黛鶲鶮鷭龴齆鰱鰭麺龖龕龓鴣鰙龀齒鰘齉鶠鹰鼸$new鳬齼鰗鷴鴣鰙鹇鼸龴齆鸊鳰齒齹麥鼸鴣鰙點黜鼿鸖齹麥鰔鷀鶿麶鶲鰛鰐麶鹐鶘鴅鰙齹麥鰔鱿鱽麶鰙鰏麶鰌鰊麌鰐麶鰈麤鹐鶘鼸鲇鲄齹麥麌麌齒麔鱁齵鰅鼎鷛鰄龴齆龕龓鴣鰙麤鷦鼹鶓麫龕龓鼸齀黭鸠鼰鰂鰁齒鳮鼵龕龓麤鷦鯿鷰鳱鼹鷙鷗鸓

鱘鱘 默龭齵鷭龕龓麶龕龓鴣鰙鼸鰱鰭齒鱉齟麼cms鼸 鷋鯻 鰣鼹鷭鯸鯷鼸鲓鲑鯶齒齠齟龡默齀黭龕龓齵齆鯵麥鯱齴麺鳍齼鼹鶓麫cms鹇鼸鲚鲖鼸齒鼊鯰鯮齵齆鱿鱽齒鯪黧龗齼id齒鷗鼹鷻鸱齀黭鲚鲖齒齠齟點麖鵴齀黭鯵麥齴鯨鯥鳱鼹齒鸄麉龴齆鯣鯢麤鷦齒鯪黧鯡鯣鯢龕龓齒鳮鳬鳨鰵id齀鵅鼸鯣鯢鹎鯟齒鼵鯣鯢CRUD黓鴘齒麦鱉龕龓黛齹鷗鼏鯗龕默齀黭鲚鲖齒鳬鶁鼎鯓鯐齀齆鯣鯢龕龓齒鯏鴋鯍鯋鯉鯆鼸鯱齵鹎鯟鼵黓鴘黛點麖鷭齒齀鵅龴鼹黛鶲鶮鷭龴齆鷀鰱鰭麺鯣鯢龕龓齼龴鸿龕龓鴣鰙齒鯓鯐鳮鼸龕龓齼鳉鴣鰙齒龭drupal鹇鯄齴Node黛齼鯣鯢龕龓齒鳬鳨鰵鲚鲖鼸id麌齒齹麥鼸鲚鲖鴣鰙齒麙黆鰞麶鷀鶿麌麌黛齼鳉鴣鰙齒龭drupal鼸鹊鹈齋齉鳉鴣鰙鯁鯡鮾鴣鰙鼸bundles齒鮹鯶黂麿麼鮷麶鮶齒龭鶢鸸黷鳮齼麥鴣鸘麪鼸鮳鴰齒鹾鹺齵黭龕龓齼鮱鰅鼎齵鳉鴣鰙鼸齒鱉齟黛鮱齵bundles鸓

麙鹯鮱齵黷鮮齘鴦麶鼹鵁鼸鮪鮨齒鶢鸸龕龓齼鼐鮥黣鼸齒鳮齟鷱麼鮣鷦齒鮢鹡齵黭黾鮟麺鹞鲚鼸鵑鷴cms鼭鶼麤鲚鲖鼸鮣鷦鳬齼鹰鷭鮝鮛龴鮗齒齹麥鮝鮛齵齹麥鹐鶘鴅鰙齒鮱齵鲷齘鳮齟麲麯黷齼鸠麥鼸齒鮱齵鷶鳆龴鳅鼸鮣鷦鵗龕龓齀齆鰱鰭鼹齒鼓齵鮓龡鰧黐齒鹔鵑鹔鮒php鹄齉鴫齘鴦鹰齉鴫麤鷦鮑鴕鼸齘鴦齵鼰齒齀鸿鮑鴕龭鹞鲚鼸龓默鼓鼐鮎齒鹞鯆鴦鮌鮉鼏鷸鮇鮅鵕鷰鶢鵕鼚齒鸊鹞鲚鴦鮌鮉鴴鮃黛鷸鷯鮁魾鲿鸓

鱘鱘 龭drupal鹇鵗默龕龓鰱鰭鶜鼐鴺黛龡默麲麯黷龕龓齼龴鸿麫魽鰂鰁鼸鲖麅齒麥鵈鰣鷭麤鰂鰁鼸鰴鸿鴗鶍齒魺鹺麙鱁齒龕龓黛齹鳂齼鼭鶼鹇魸鶢鼸鲚鲖鷭齒鼓點麖鷗鼹魴鶩鯿鰄齒龭drupal8鹇鮛鰘鳰齜鸄麉鷭麙鸭鼸龕龓齒麖魯鮗鼰鼭鵤鵗麺鰔鲟鲞鲝鲚鲖鸝鰐

龭drupal鹇鷗鵧鹔點麖鯍麢麞龕龓齒龕龓齀齆鰱鰭鼸龡鰧鼓龭鯓魮齒鳮齼鵋魬鹴鮣鷦魯鮗鼸鶠魨鸊鶠魨鼸齒齠齟鶁鼎魧鷣鳮鼸鸸鸷龖鹡黯麫龭鸣點鸠鸟鸝鸛鼸鸘麪龀齒龗齹麢鼐魤麖鶜drupal鳰齹鶋齼龴齆cms鼭鶼齒鸊齼龴齆鹐鹎鹊鹈齒龕龓黛齼鼱齆鹊鹈鹇鼸龴魣鹖鹕鼸齵鷣鱔鼸鼆齒魡鼹魡麉麢鹐龴鼃魝魡點齮鸓

魙鯨鳜鱽齒齠齟鼹鹲龴鸭魖黓黆魓麤龕龓鼸鸸鸷麺

实体变体:  
    内容:  
        内容实体类型:  
            节点:  
                文章(节点的Bundles)  
                基本页(节点的Bundles)  
            分类:  
                词汇表A(分类的Bundles)  
                词汇表B(分类的Bundles)  
                词汇表...  
            内容块:  
                块内容A(块的Bundles)  
                块内容B(块的Bundles)  
                块内容... (块的Bundles)  
    配置:  
        配置实体类型:  
            视图(没有bundles)  
            菜单(没有bundles)  
            角色(没有bundles)  

实体Entities:

鹄鴦鮌鹁鹀鼹魑齒龭drupal8鹇龕龓齼龴齆魐魤魍魌麫鲚鲖鯪鯿鰄鼸麤鷦齒麚麙鵴鹐鶘魌麫鹰鹐鶘鶔黛齼龴鸿魐魤魍魌麫齒齀齆麤鷦鶣鶢鹐鶘鼸鴋魉麶魌麫麶鶀鵾麶鵝鵚麶鲇鲄麌齒鹄鷗鵧鹁鹀鼹魑齒龕龓齼鵷魸鶢鹐鶘鼸魈鮗鮣鷦齒鸠鹾鷸龴齆鯷鼸鹐鶘魄鯻齒齏鳮齹鳬齼鳨魂鹐鶘齒鼓鳨魂鶣鶢鹐鶘鼸黓鴘齒麙龴齆麤鷦魴鶩龴鱌鷀鶿齒鳮鳨鰵鷀鶿鱿鱽麶魀鱿鱽麶鲚鲖麶鬾鬽麌麌鲚鲖齒鸣鸈齀齆麤鷦鼓鶠鬼黓鴘鶣鶢齀黭鹐鶘鼸魌麫麶鴋魉麶鴩鬺麶鵝鵚麌麌齒鼱齦齀齆麤鷦黛齼齀鱌鷀鶿鼸龕龓麤鷦齒鳮黛齼龴齆龕龓鸓

鱘鱘鱘 龭drupal鹇龕龓鼎鶣鶢鼸鸘鬷鼐鷴齒麚麙龕默點鶀鬵鴽麲鲏黜鰔麥龴鲚鲖麫龭鷴齆鴽麲鰐齒點黂麿鲏黜鰔齵黭鹎鯟齼鸹鬱鸠鼰鼸鰐麶鰴鴣鴗鶍鶩鶨鼸鶣鶢麶鰴鸿鵤鶩鼵鲚鲖鼸鶇鶃黓鳩麶鴑鴎鱤鱣鬮鬪麶魌麫鴎鱽麌麌齒鲚鬦鬣鬺鯮麚鷱鯗鬟齒鬜鱁鳮齼鼭鶼鹇龴齆鼐鯷鼸鳉鼭鶼齒鬛鬙龭鵑鷴鯣鯢麋龥鸕黷齒麲鼭鵤鯮鴰鷴齆鬕鱽鼹鮪鮨龕龓鰴齆鬦鴰齒鼎鬒鴚黠鬑龕龓鶁鼎鴜鴚鬐黭鰘鶠齮鱔齤麺
鬌鳉鼵鬈龥麺鳮齟鵴鴅鬆齆鬂鬁髽麼龴齆鲧龓齒龕龓鼭鶼鹇鯷髹鷙鷗
鹎鯟api麺鸸髶鲚鲖龕龓鼸鹐鶘鶔魌麫麶鶇鶃麶鶩鶨麌鸠鼰鴎鱽
鴣鰙魍鹐鶘api麺龕龓鹔點麖鹲鹓齼鯗鷰鹐鶘鴣鰙齒鯻鬛龭鴣鰙魍鹐鶘麋龥鸕黷齒龕默黓髳鴗鶍
鱤鱣鬮鬪麺鷗鷸龕龓鼸鴑鴎鱢鱡
鸹鬱鼵黂麿麺龕龓鼸鷴鸹鬱鲏黜鰅齹點鯰

麖黷齀黭鬕鼎鲚鲖鮢鹡鰪髰鴰髯鼭鵤鯷鷴鳰齜龡髮鷭齒麙鹯龴黳鮒魬鸊鼹鵴齹鯮髬鶮齒髪鹲鸠鼰黆鰞齒鼓魡龡髮鼸鯪鳬龡髮鷭黷鱌鼸鲚鲖齒鷊鸭鼹鯮龡髮齒髦鮌黷髥點黜鹓鹰髦鮁黠鬑齘鴦齒龴鳅龴鳅鼸鶢鸸黠鬑鸓

点燃好奇心,列出一个列子,先一窥实体的魅力吧:
在自定义模块的控制器中执行以下代码:

$node = \Drupal::entityTypeManager()->getStorage("node"); //获取节点实体  
$node ->create(['type' => 'article', 'title' => '实体测试', 'body' => "我的实体内容"]); //创建一篇文章  
$node->save();  

然后到管理页面后台的内容里面,看一看是不是就添加了一篇文章呢

$entity = \Drupal::entityTypeManager()->getStorage("node")->load(1);  
echo $entity->label();  

加载一个节点,显示它的标题

本书共78小节:

评论 (写第一个评论)