>백엔드 개발 >PHP 튜토리얼 >MongoDB 및 PHP로 간단한 블로그 앱 구축

MongoDB 및 PHP로 간단한 블로그 앱 구축

Joseph Gordon-Levitt
Joseph Gordon-Levitt원래의
2025-02-22 10:21:16922검색

MongoDB 및 PHP로 간단한 블로그 앱 구축 키 테이크 아웃

mongodb는 성능과 확장 성을 향상시키는 문서 지향 NOSQL 데이터베이스로서 수집 및 문서를 쉽게 관리 할 수있는 블로그 응용 프로그램에 이상적입니다. PHP MongoDB 드라이버는 PHP 응용 프로그램을 MongoDB에 연결하는 데 필수적이므로 PHP 스크립트에서 직접 CRUD 작업을 허용합니다. 간단한 사용자 인증은 블로그의 관리 섹션에 HTTP 인증을 사용하여 구현할 수 있지만보다 강력한 응용 프로그램의 경우 포괄적 인 인증 프레임 워크가 권장됩니다.

블로그 응용 프로그램은 블로그 게시물을 관리하기 위해 기본 CRUD 작업을 사용하며, 주석에 대한 추가 기능을 사용하여 MongoDB 컬렉션에 저장됩니다. 응용 프로그램 구조에는 관리 작업 및 견해를위한 별도의 디렉토리 및 파일이 포함되어있어 본격적인 프레임 워크를 사용하여 추가로 개발할 수있는 단순한 형태의 MVC 아키텍처를 홍보합니다.

    소개 MongoDB 및 PHP를 사용하여 블로그를 만들려면이 기사가 다음을 가르쳐 줄 것입니다.
  • MongoDB 데이터베이스 에 연결하십시오 컬렉션에 문서를 저장하십시오 컬렉션의 쿼리 문서 범위 쿼리를 수행하십시오 문서 정렬, 문서를 업데이트하고 컬렉션에서 하나 이상의 문서를 삭제합니다
  • 블로그 애플리케이션을 구축하기로 선택한 이유는 기본 CRUD 응용 프로그램이기 때문에 PHP 및 MongoDB 웹 개발을 완화하는 데 매우 적합하기 때문입니다. 간단한 텍스트 상자와 버튼이있는 부트 스트랩을 사용하여 일반 사용자 인터페이스를 작성합니다. MongoDB 데이터베이스는 모든 컨텐츠를 저장합니다. github에서 전체 소스를 다운로드하고 여기에서 데모 프론트 엔드를보고 사용자 이름과 암호가
  • duythien
  • . mongodb 란 무엇입니까? 공식 웹 사이트에 따르면 MongoDB는 고성능, 고 가용성 및 쉬운 확장 성을 제공하는 문서 데이터베이스입니다. MongoDB는 문서 지향 NOSQL 데이터베이스 그룹에 속합니다. NOSQL 데이터베이스의 다른 하위 유형은 여기를 참조하십시오 MongoDB 개념 : 데이터베이스, 컬렉션 및 문서
  • 데이터베이스 : MongODB는 대부분의 관계형 데이터베이스와 동일한 방식으로 데이터베이스로 데이터를 그룹화합니다. 관계형 데이터베이스에 대한 경험이 있으시면이를 같은 방식으로 생각해야합니다. RDBMS에서 데이터베이스는 테이블 세트, 저장된 절차,보기 등입니다. MongoDB에서 데이터베이스는 일련의 컬렉션입니다. MongoDB 데이터베이스에는 하나 이상의 컬렉션이 포함되어 있습니다. 예를 들어, 블로그라는 블로깅 응용 프로그램의 데이터베이스에는 일반적으로 컬렉션 기사, 저자, 주석, 카테고리 등이있을 수 있습니다.
  • 컬렉션 : 컬렉션은 RDBMS 테이블과 같습니다. 컬렉션은 단일 데이터베이스 내에 존재합니다. 컬렉션은 스키마를 시행하지 않습니다. 컬렉션 내의 문서에는 다른 필드가있을 수 있습니다. 일반적으로 컬렉션의 모든 문서에는 유사하거나 관련된 목적이 있습니다. 문서 : MongoDB 컬렉션의 레코드 및 MongoDB의 기본 데이터 단위. 문서는 JSON 객체와 유사하지만 데이터베이스에는 BSON으로 알려진보다 유형이 풍부한 형식으로 존재합니다. 문서에는 필드 세트 또는 키 값 쌍이 포함되어 있습니다. 문서를 생각하는 가장 좋은 방법은 다차원 배열입니다. 배열에는 값에 매핑되는 키 세트가 있습니다 (Document == array). 문서를 참조하십시오.

    mongodb 설치 MongoDB는 대부분의 플랫폼에서 실행되며 32 비트 및 64 비트 아키텍처를 지원합니다. MongoDB는 이진 또는 패키지로 제공됩니다. 생산 환경에서는 64 비트 몽고이 바이너리를 사용하십시오. 이 섹션에서는 Ubuntu Linux 및 Windows에 설치를 다룹니다. 다른 운영 체제에 대해서는 해당 문서를 참조하십시오 이것은 Ubuntu Linux에 Mongo가 설치되는 방식입니다. 터미널을 열고 다음을 실행하십시오
  • 이제 리포지토리를 업데이트하고 MongoDB의 최신 안정 버전을 설치하려면 다음 명령을 발행하십시오.
  • 완료, MongoDB를 성공적으로 설치했습니다. 이제 아래 명령 줄을 통해 서비스 MongoDB를 시작하고 중지하십시오.

    시작 오류의 경우 다음 명령을 실행하십시오.
  • 다음은 Windows에 설치하는 방법을 설명합니다 MongoDB 공식 웹 사이트의 다운로드 페이지로 이동하십시오. Windows에서 최신 안정적인 릴리스에 대한 다운로드 링크를 클릭하십시오. 다운로드가 완료된 후 를 추출하여 C :로 옮깁니다. MongoDB에는 파일을 저장할 데이터 폴더가 필요합니다. MongoDB 데이터 디렉토리의 기본 위치는 C : DatADB입니다. 존재하지 않으면 작성하십시오.

    MongoDB를 시작하려면 명령 프롬프트에서 실행하십시오

    완료, MongoDB를 성공적으로 설치했습니다. 이제 아래 명령 줄을 통해 서비스 MongoDB를 시작하고 중지하십시오.

    mongodb 의 PHP 드라이버 설치 MongoDB 서버는 현재 웹 서버에서 이미 작동하지 않지만 PHP는 아닙니다. PHP가 MongoDB 서버와 대화하기 위해서는 PHP MongoDB 드라이버가 필요합니다. PHP 확장 라이브러리입니다. Linux를 사용하는 경우 : 를 통해 쉽게 설치하십시오
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    #
    echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
    
    라인 확장자 = mongo.so를 php.ini 구성에 추가하면 좋습니다.

    웹 서버를 다시 시작하고 명령 줄을 통해 확인하십시오 :

    Windows에 드라이버를 설치합니다 Apache (XAMPP)에서 PHP 5.4를 실행하는 Windows 머신에 드라이버를 설치해 보겠습니다.
      zip 아카이브 https://github.com/mongodb/mongo-php-driver/downloads를 다운로드하여 추출하십시오.

      추출 된 폴더에서 PHP Extension 디렉토리 (C : XAMPPPHPEXT)로 php_mongo.dll 파일을 복사하십시오.

      PHP 설치 내에서 php.ini 파일을 열고 다음 줄을 추가하십시오 : Extension = php_mongo.dll 파일을 저장하고 닫습니다. xamp. 를 다시 시작하십시오 텍스트 편집기를 열고 새 파일에 다음 코드를 추가하십시오. 브라우저의 스크립트. PHP 정보에 Mongo가 표시되면 설치가 성공적이었습니다.

    1. php
    2. 를 사용한 몽고 웹 개발 MongoDB 데이터베이스 서버에 연결 PHP에서 MongoDB에 연결하는 것은 다른 데이터베이스에 연결하는 것과 매우 유사합니다. 기본 호스트는 LocalHost이고 기본 포트는 27017입니다.

  • 옵션 사용자 정의 포트 및 인증으로 원격 호스트에 연결 :
  • 데이터베이스 선택 데이터베이스 서버 연결이 설정되면 데이터베이스에 액세스하는 데 사용합니다. 이를 수행하는 정의 된 방법은 다음과 같습니다
  • 기본 (CRUD 운영) MongoDB는 데이터를 읽고 조작하기위한 풍부한 의미론을 제공합니다. CRUD는 작성, 읽기, 업데이트 및 삭제를 나타냅니다. 이 용어는 데이터베이스와의 모든 상호 작용의 기초입니다.
  • 컬렉션 생성/선택 컬렉션을 선택하고 생성하는 것은 데이터베이스에 액세스하고 생성하는 것과 매우 유사합니다. 컬렉션이 존재하지 않으면 생성됩니다.
  • 예를 들어 이것은 내 블로그에서 "게시물"컬렉션을 만듭니다. 문서 생성 MongoDB에서 문서를 만드는 것은 더 쉬울 수 없습니다. 배열을 만듭니다. 컬렉션 객체의 삽입 메소드로 전달하십시오

    insert () 메소드는 컬렉션에 데이터를 저장합니다. $ post array는 삽입 된 BSON 문서의자가 생성 된 고유 한 객체 인 _id라는 필드를 자동으로 수신합니다. 또한 기존 레코드를 업데이트하거나 존재하지 않으면 새 레코드를 작성하는 Save () 메서드를 사용할 수도 있습니다. 문서 읽기 컬렉션에서 데이터를 얻으려면 Find () 메소드를 사용하여 모든 데이터를 수집에 가져옵니다. FindOne ()은 지정된 쿼리 기준을 만족시키는 하나의 문서 만 반환합니다. 다음 예제는 하나 이상의 레코드를 쿼리하는 방법을 보여줍니다.

    문서 업데이트

    컬렉션에서 기존 문서 나 문서를 수정합니다. 기본적으로 update () 메소드는 단일 문서를 업데이트합니다. 멀티 옵션이 true로 설정된 경우 메소드는 쿼리 기준과 일치하는 모든 문서를 업데이트합니다.
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    #
    echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
    
    update () 메소드는 두 개의 매개 변수를 가져옵니다. 첫 번째는 업데이트 할 객체를 설명하는 기준이고 두 번째는 일치하는 레코드를 업데이트 할 객체입니다. 옵션 배열을 전달할 수있는 세 번째 선택적 매개 변수도 있습니다. 미니 블로그 우리가 구축 할 프로젝트의 구조 :

    실제 PHP 코드로 시작하기 전에 위와 같은 파일과 폴더를 만들어야합니다. config.php

    이것은 앱에 데이터베이스에 연결하는 방법을 알려주는 구성 파일입니다. 해당 데이터베이스에 액세스하기 위해 사용자의 데이터베이스 이름, 사용자 이름 및 비밀번호를 정의한 곳입니다.

    HTTP 인증을 통해 관리 폴더를 보호하기 위해 파라마토를 정의합니다. 기사의 중심 테마가 MongoDB에 연결되어 있음을 알 수 있습니다. 일반적으로 ACL과 함께 ACL을 사용하여 액세스 제어를 구축 할 수 있습니다.

    .

    app.php :

    관리자 이것은 CRUD 코드를 포함하는 폴더입니다
    sudo apt-get update
    sudo apt-get install mongodb-10gen
    
    전체 파일 index.php는 여기를 참조하십시오. 위의 클래스 레이아웃에서 뷰 함수를 사용하여 대시 보드를 자동으로로드합니다.

    get 매개 변수 상태는 crud 동작에 해당합니다. 예를 들어, 상태가 "create"인 경우 :

    function view ( 'admin/create', $ data)는 사용자가 새 블로그 게시물의 제목/내용을 작성하거나 사용자가 제출 한 데이터를 MongoDB에 저장할 수있는 HTML 양식을 보여줍니다. 기본적으로 스크립트에는 다음 HTML 양식이 표시됩니다

    다음으로 DB.PHP를 보자.

    mongodb 커서는 페이지 매김을 쉽게 만듭니다. 이러한 커서 방법은 리턴과 서로를 찾는 커서 객체에서 묶을 수 있습니다. 한계와 건너 뛰기를 결합하면 Pagination이 쉬워집니다. 이것들은 또한 순서와 결합 될 수 있습니다. 예를 들어.
    sudo service mongodb start
    sudo service mongodb stop
    

    index.php : 템플릿 파일은보기 폴더에서 찾을 수 있습니다. index.view.php와 같은 다음은 index.php의 예입니다

    브라우저를 열고 http://duythien.dev/sitepoint/blog-mongodb로 이동하십시오. 블로그에 현재 모든 기사를 나열합니다

    Single.php : 단일 게시물 페이지를 볼 때 (게시물에서 자세히보기)보기 폴더에서 Single.view.php를보고 있습니다. 다음은 Single.php의 논리입니다
    sudo mongod --fork --logpath /var/log/mongodb/mongodb.log
    #or
    sudo mongod -f /etc/mongodb.conf
    
    이 파일은 http get 매개 변수로 기사의 _id를 수신합니다. 기사 컬렉션에서 findone () 메소드를 호출하여 _id 값을 메소드에 매개 변수로 보냅니다. FindOne () 메소드는 단일 문서를 검색하는 데 사용됩니다. 파일 db.php

    의 함수 getByid ()를 참조하십시오

    MongoDB 및 PHP로 간단한 블로그 앱 구축 주석 섹션의 입력 상자에 임의 이름과 이메일을 입력하고 텍스트에 텍스트를 넣습니다. 그런 다음 저장 버튼을 클릭하면 페이지가 방금 게시 한 주석으로 다시로드됩니다. 이것이 주석입니다 .php는 다음과 같습니다

    주석은 문서 ​​이름 주석의 배열 필드에 저장됩니다. 주석의 각 요소는 여러 필드를 포함하는 임베디드 문서입니다.

    결론
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    #
    echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
    
    이 기사에서는 MongoDB와 함께 PHP에 기본 CRUD 소개를 다루었습니다. 프로세스에서 매우 원시적 인 MVC를 만들었습니다 (GitHub의 전체 앱 참조). 적절한 프레임 워크를 사용하고 여기에 사용 된 간단한 HTTP 인증을 넘어 인증을 구현하고 더 많은 기능을 추가하는 것은 귀하에게 달려 있지만 기본 사항이 제자리에 있으며이 데모 애플리케이션을 마음의 내용으로 해킹 할 수 있습니다.

    . MongoDB에 대한 자세한 내용은 온라인 문서를 확인하십시오. 이 기사를 즐겼습니까? 당신의 생각을 알려주십시오!

    MongoDB 및 PHP 로 간단한 블로그 앱을 구축하는 것에 대한 자주 묻는 질문 (FAQ) MongoDB 란 무엇이며 블로그 앱을 구축하는 데 사용되는 이유

    MongoDB는 소스를 사용할 수있는 크로스 플랫폼 문서 지향 데이터베이스 프로그램입니다. 선택적 스키마와 함께 JSON과 유사한 문서를 사용하기 때문에 NOSQL 데이터베이스 프로그램으로 분류됩니다. MongoDB는 고성능, 고 가용성 및 쉬운 확장 성으로 블로그 앱을 구축하는 데 사용됩니다. 그것은 컬렉션 및 문서의 개념에 따라 데이터를 구성하고 관리 할 수 ​​있도록합니다.

    PHP는 블로그 앱 생성에서 MongoDB와 어떻게 통합됩니까?

    PHP는 인기있는 일반적인 목적입니다. 웹 개발에 특히 적합한 스크립팅 언어. MongoDB의 일부 기능에 대해 높은 수준의 API 추상화를 제공하는 클라이언트 측 라이브러리 인 PHP 드라이버를 통해 MongoDB와 통합됩니다. 이를 통해 PHP 스크립트는 MongoDB 서버와 통신하고 데이터 쿼리 및 업데이트와 같은 작업을 수행 할 수 있습니다.

    MongoDB 및 PHP를 사용하여 블로그 앱을 구축하기위한 전제 조건은 무엇입니까?

    MongoDB와 PHP, PHP와 MongoDB에 대한 기본적인 이해가 필요합니다. 또한 시스템에 PHP 및 MongoDB를 설치해야합니다. 또한 코드를 작성하기위한 텍스트 편집기와 앱을 호스팅하기위한 웹 서버가 필요합니다.

    블로그 앱에서 사용자 인증을 처리하는 방법은 무엇입니까?

    블로그 앱에서 사용자 인증이 가능합니다. PHP에서 세션을 사용하여 처리해야합니다. 사용자가 로그인하면 세션이 시작되고 사용자의 정보가 세션 변수에 저장됩니다. 이러한 변수는 사용자 세션 내내 액세스 할 수 있으므로 사용자의 인증 상태에 따라 특정 페이지에 대한 액세스를 제한 할 수 있습니다. 내 블로그 앱에서 CRUD 작업을 구현하려면 PHP 및 MongoDB를 사용하여 블로그 앱에서 구현할 수 있습니다. PHP는 MongoDB와 상호 작용하는 기능을 제공하여 문서 (게시물), 문서 읽기, 문서 업데이트 및 삭제 문서를 작성할 수 있습니다. MongoDB PHP 드라이버는 이러한 작업에 대한 간단한 API를 제공합니다.

    블로그 앱에서 오류를 처리하는 방법은 무엇입니까?

    블로그 앱에서 오류 처리는 PHP의 내장 오류 처리를 사용하여 수행 할 수 있습니다. 기능. 이러한 기능을 사용하면 사용자 정의 오류 처리 규칙을 정의하고 사용자 정의 오류 처리기를 작성하며 오류를보고 할 수 있습니다. 디버깅 목적으로 오류를 기록 할 수도 있습니다.

    블로그 앱의 성능을 향상시키는 방법은 무엇입니까?

    인덱스를 사용하여 MongoDB 쿼리를 최적화하여 블로그 앱의 성능을 향상시킬 수 있습니다. 캐싱 데이터. 예를 들어 효율적인 루프 및 기능을 사용하고 글로벌 변수의 사용을 최소화하여 PHP 코드를 최적화하여 성능을 향상시킬 수 있습니다.

    블로그 앱을 어떻게 보호 할 수 있습니까?

    보안 블로그 앱에서는 사용자 인증을 구현하고 SQL 주입 공격을 방지하기 위해 사용자 입력을 소독하고 HTTP (Heal Connections)를 사용하여 달성 할 수 있습니다. 또한 최신 보안 패치의 혜택을 받기 위해 PHP 및 MongoDB 설치를 최신 상태로 유지해야합니다.

    블로그 앱을 어떻게 배포 할 수 있습니까?

    PHP를 업로드하여 블로그 앱을 배포 할 수 있습니다. 웹 서버에 대한 파일 및 mongoDB 데이터베이스. 파일을 업로드하기 위해 FTP 또는 GIT와 같은 버전 제어 시스템을 사용할 수 있습니다. 또한 PHP 스크립트를 처리하고 MongoDB 데이터베이스에 연결하려면 웹 서버를 구성해야합니다.

    내 블로그 앱에 댓글과 좋아하는 기능을 추가하는 방법 주석 및 좋아하는 기능과 같은 기능을 어떻게 추가 할 수 있습니까? 주석 및 좋아요를 저장하기 위해 MongoDB 데이터베이스에서 추가 컬렉션을 만들어 블로그 앱에 추가 할 수 있습니다. 그런 다음 PHP를 사용하여 주석 및 좋아요를 작성, 읽기, 업데이트 및 삭제하고 특정 게시물과 연결할 수 있습니다.

위 내용은 MongoDB 및 PHP로 간단한 블로그 앱 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.