db_host};dbname={$this-" />

Как использовать AngularJS с классом PHP и вызвать определенную функцию PHP?

php angularjs

1746 просмотра

2 ответа

Я полностью новичок в AngularJS, и я использую PHP в качестве серверного скрипта. У меня есть класс PHP с функциями connection () и getUsers ():

public function connect()
{
    $this->connection = new PDO("mysql:host={$this->db_host};dbname={$this->db_name}", $this->db_user, $this->db_pass);
    $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    return $this->connection;
}

public function getUsers()
{
    this->connect = this->connect(); 
    $sql = "SELECT * FROM login";
    $stmt = this->connect->prepare($sql);
    $stmt->execute();
    $res = $stmt->fetchAll();

    return json_encode($res);   
}

Я застрял в угловой части. Как вызвать функцию внутри URL с помощью $http.get()?

    $http.get('/angular/conn.php')
      .success(function(result)
    {
        $scope.user = result;
    })
      .error(function(data, status)
    {
        $log.log(status);
    });

И еще один вопрос на стороне: при использовании angular с php их не нужно вызывать класс и функцию, которую мы должны использовать в верхней части каждой HTML-страницы?

Автор: Lara Ch Источник Размещён: 08.11.2019 10:55

Ответы (2)


2 плюса

Вы должны понимать, как работает архитектура клиент / сервер для Angular. Angular создан для работы вместе с веб-сервисом, который, помимо прочего, отвечает за доступ к базе данных. Вы общаетесь с веб-службой с помощью вызовов API, часто выполняемых с помощью AJAX. Вы не можете просто вызвать метод php из приложения Angular, как это было бы из другого класса / скрипта php. Вы должны разработать веб-сервис в php, чтобы общаться с ним.

Так как вы пытаетесь получить доступ к ресурсу, используя метод GET '/angular/conn.php', тогда ваш веб-сервис PHP должен иметь возможность анализировать запросы и отвечать соответствующим образом, учитывая метод HTTP, имя ресурса, заголовки HTTP и т. Д. Поскольку Angular предназначен для работы вдоль REST веб-сервисы, я бы порекомендовал вам использовать PHP-фреймворк, который подходит для таких целей. Например: Slim Framework

Вот несколько ссылок, которые могут оказаться полезными:

  1. Что такое RESTful-программирование?

  2. Веб-сервисы REST

Автор: Ricardo Leon Размещён: 21.08.2016 08:08

-1 плюса

хорошо примеры, которые я видел, где тогда, когда вы используете метод GET, например:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
    $http({
        method : "GET",
        url : "your url here"
    }).then(function mySucces(response) {
        $scope.myWelcome = response.data;
    }, function myError(response) {
        $scope.myWelcome = response.statusText;
    });
});

попробуйте ввести свой полный URL-адрес, например: localhost: 8080 / mypage.php, и распечатать результат в консоли. Сначала вы можете сделать запрос в браузере, чтобы проверить, отвечает ли сервер на запрос.

Автор: Pavul Zavala Размещён: 20.08.2016 05:44
Вопросы из категории :
32x32