将Angular表达式添加到php

时间:2017-06-12 15:13:43

标签: javascript php angular

我正在学习角度,我有一个角度表达式{{movie.title}},它输出电影标题。如果我把它包含在某些PHP中

$movTitle = "{{movie.title}}"; 
echo $movTitle; 

它打印电影标题。但是,如果我将$ movTitle发送给一个函数,它就不会被解析。

$movieArray = $imdb->getMovieInfo("$movTitle"); // doesn't get movie info
// $movieArray = $imdb->getMovieInfo("Scarface"); // gets movie info

关于将电影片名发送到php函数的最佳方法的任何想法?

- 更新 -

我认为这可能是我想念的一些简单但是因为它看起来有点复杂,我已经添加了更多上下文的页面代码。我正在声明组件templateUrl:'movie.component.php',这就是那个文件。

<?php
include("/path/imdb.php"); 
?>
<div *ngIf="movie">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h1>{{movie.title}}</h1>    
        </div> 
        <div class="panel-body">
            <div class="row">
                <div class="col-md-5">
                    <img class="thumbnail" src="http://image.tmdb.org/t/p/w500/{{movie.poster_path}}">
                </div>    
                <div class="col-md-7">
                    <ul class="list-group">
                        <li class="list-group-item">Genres: <span *ngFor="let genre of movie.genres">{{genre.name}}</span></li>    
                        <li class="list-group-item">Release Date: {{movie.release_date}}</li>
                    </ul>
                    <br>
                    <a *ngIf="movie.homepage" href="{{movie.homepage}}" target="_blank" class="btn btn-default">Visit Movie Website</a>

<?php
      $movTitle = "{{movie.title}}"; 
      $imdb = new Imdb();
      $movieArray = $imdb->getMovieInfo("$movTitle");
      echo '<table align=center style="color:white;font-family:verdana;font-size:15px;line-height:1.7;" cellpadding="30" cellspacing="1" border="1" width="100%" align="center">';
      foreach ($movieArray as $key=>$value){
          $value = is_array($value)?implode("<br />", $value):$value;
          echo '<tr>';
          echo '<th align="left" valign="top">' .
          str_replace("_","&nbsp;",strtoupper($key)) . '</th><td>' . $value .
         '</td>';
          echo '</tr>';
      }
      echo '</table>';
?>                 

                </div>  
            </div>
        </div> 
    </div>    
</div>

IMDB功能可导入有关该电影的其他详细信息。我希望这个功能在这个页面上执行。我想我需要将php放在后面,使用$ http发布电影标题,然后在页面上呈现返回的数据(表格)。

1 个答案:

答案 0 :(得分:0)

您需要使用AngularJs向PHP后端的端点发出请求,并且您将发送电影标题以及此请求。您可以在此处查看:https://www.w3schools.com/angular/angular_http.asp以获取有关如何使用Angular中的$ http服务执行ajax请求的参考。