문제

쓰 PHP 응용 프로그램이 있는 편집 할 수있는 기능을 통해 설정하는 웹 인터페이스입니다.지 않았다는 의미에 대한 사용자는(실제로,그것만 있을 것입니다 관리자 용)드 할 수있을 파일까지의 텍스트 편집기에서 있지만,오히려 그들은 변경 양식을 사용하여,그리고는 설정을 변경한 파일(과 할뿐만 아니라 다른 것들).

이 단계에서의 개발,설정에 저장된 PHP 파일,예를 들어:

define ('UPLOAD_DIR','uploads/');
define ('DISPLAY_NUM',true);
$names = array('a' => 'b','c'=>'d','e'=>'f');

그러나,구문 분석이 어레이(그리고 그들은 더 복잡한(i.e 다단계 중첩된)위 보다),보이지 않는다 그래서 재미있습니다.기 때문에 특정 설정을 수 있습니다 추가 및 제거,읽기,전체 파일,다음 쓰는 모든 설정이 다시 보이지 않는 재미다.

어떤 장점과 단점을 사용하여 다음과 같은 형식으로?(그리고 모든 사람들이 놓쳤다):

  • 사용자 지정 XML
  • INI(사용할 수 있 parse_ini_file)

(를 사용하여 데이터베이스 적당한 때문에 요구 사항에 대한 프로젝트입니다.내가 이해 많은 상황에서 데이터베이스의 것 선호하지만,이 경우.)

할 수 없는 경우 데이터베이스를 사용하고,설정을 저장할 수 있는 편집 웹 인터페이스를 사용하여,당신은 무엇을 할 것인가?

(주의:이것은 다른 질문 , 는 곳에,설정을 변경할 수 없습니다,그것 PHP 파일의 모든 방법입니다.그리고 예 설치가 현재 작성 PHP 파일을 올바른 설정합니다.)

도움이 되었습니까?

해결책 2

확인을 받지 않는 모든 종류의 답을 찾고 있었습니다.여기에는 것은 일종의 협력할 것에 동의하였습니다.

INI

  • 설정을 저장하 INI 파일에는 적절할 수 있습에 대한 간단한 설정하려면 원하는 사용자를 편집니다.
  • 그러나 만들고,복잡한 배열은 쉬운 일이 아닙니다,그리고 필요한 것이 정신적인 곡예를 이해하는 제목에는 수준의 배열입니다.
  • 예약어는 사용되지 않아야에서 어디서나 파일,다음을 포함합니다:예 아니요,참,거짓,이 문제가 발생할 수도 있습니다.
  • 상수를 사용할 수 있습니다에서 파일입니다.
  • 없음에서 건축의 방법을 쓰는 INI 파일이 있습니다.

XML

  • 용할 수 있는 이 라이브러리는 그러한 문제를 확장,는"제공에 매우 간단하고 쉽게 사용할 수 있 도구 세트를 설정하는"XML 개체할 수 있는 처리를 사용하여 정상적인 방법입니다.
  • 을 사용할 수 있는 매우 복잡한 배열입니다.
  • 가능한 편집으로 손는 경우,필요합니다.
  • 사용할 수 있는 외부 도구의 유효성을 확인하는 파일.
  • 많은 많은 XML 프로세서에서 사용 가능한 PHP.

YAML

기억하십시오:어떤 데이터베이스 가 없습니다.필요할 수 있는 사용하기 복잡한 배열입니다.

다른 팁

XML을 사용하겠다고 약속하지 않으면 고려할 수 있습니다. . 나는 루비와 함께 사용했지만 빨리 Google PHP 지원을위한 몇 가지 옵션이 있다고 제안합니다. TBF, 링크에는 일부가 포함됩니다 에 대한 논쟁 PHP와 함께 Yaml 사용하지만 YMMV.

설정에 직접 액세스 할 수 있다는 아이디어가 마음에 들지 않으므로 버퍼 역할을하는 인터페이스를 제공하고 고의적 인 공격을 방지하며 깨끗한 출력을 보장하는 것이 중요합니다.

이를 염두에두고 서버 측 형식의 선택은 전혀 중요하지 않습니다. 올바르게 인터페이스 할 수있는 한 다른 모든 문제가 해결 될 수 있습니다.

CONTAL XML 파일을 추천하므로 구성이 잘 확장되며 PHP XML 라이브러리를 사용하여 액세스 할 수 있습니다.

빠른 예 :

<myconfig>
  <define>
    <name>UPLOAD_DIR</name>
    <value>uploads/</value>
  </define>
  <define>
    <name>DISPLAY_NUM</name>
    <value>true</value>
  </define>
  <array id="names">
    <value index="a">b</value>
    <value index="c">d</value>
    <value index="e">f</value>
  </array>
</myconfig>

PHP는 INI 파일을 편집하고 구문 분석하기위한 기능을 구축하여 일반 텍스트 형식을 사용하여 프로그램 설정을 저장합니다.

두 단계 접근 방식을 사용했습니다. 변수와 이름은 사용자에게 변경 기능을 제공하는 인터페이스와 함께 데이터베이스에 저장됩니다. 그들이 변경하면 파일이 서버에 저장된 다음 응용 프로그램을 통해 참조했습니다 (변경 사항은 DB로 다시 저장됩니다). 쉽게 업데이트하고 백업을 간단하게 만듭니다. 파일을 백업 할 필요가없고 데이터베이스를 백업 할 필요가 없습니다. 결과 파일은 $ variableName = 'variableValue'형식 인 .inc 파일입니다.

그리고 왜 평범한 PHP가 아닌가?

configure-form.php

형태 method=POST action='configure.php',

입력 필드 EX. name='upload' value='<?php echo UPLOAD; ?>'

configure.php 파일 :

$myfile = 'sets.php';
$fh = fopen( $myfile, 'w' );
$upload = '"/upload/"';
$txt = "define( UPLOAD, '" . $_POST['upload'] . "' );";
fwrite( $fh, $txt );
fclose( $fh );

그리고 당신은 그것을 가지고 있습니다. 구성 파일을 생성하는 간단한 PHP.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top