2010-08-09 8 views
1

개별 사용자 정의가있는 웹 사이트를 염두에두고 있습니다. 예를 들어 클라이언트 # 1에서이 기능을 내 계정 용으로 설계하고 사용자 # 2가 내 계정에이 기능을 추가하고 싶다고 말할 수 있습니다. PHP 코드를 구현하면 해당 기능을 로그인 할 때마다로드 될 것입니다. 하지만 난 각 클라이언트에 대한 각 PHP 코드를 추가 할 수있는 수십만 사용자 정의가 끔찍한 것입니다, 내가 덜 쉽게 스트레스를 덜어 그것을 할 수있는 방법이 있습니까?개별 사용자 지정 사용자 정의

의견에서 특정 답변까지 추가 : "기본적으로 저는 비즈니스 인텔리전스 회사의 기술 측면을 실행하고 있습니다. 우리는 다양한 보고서와 정보를 12 가지의 분석 도구와 함께 제공합니다. 비즈니스의 특정 영역을 분석하고 계정에 업로드하는 맞춤 기능을 추가로 제공합니다. 많은 계정에 대해 수백 가지의 요청이있을 수 있습니다. "

+1

수십만 개의 맞춤 설정! 이러한 사용자 정의가 정확히 무엇이며 세션 상태에서 부울을 설정하거나 해제 할 수없는 이유는 무엇입니까? –

+2

이 질문은 너무 흐리다. 사용자 정의 할 측면과 방법에 대해 자세히 설명해야합니다. –

답변

0

가장 좋은 방법은 프레임 워크를 직접 디자인하거나이 수준의 사용자 지정을 지원하는 기존 프레임 워크를 찾는 것입니다. 어쨌든 작은 일이 아니며 각 사용자에 대한 코드를 실행하면 시간이 지남에 따라 오래된 방법으로 인해 발생하는 보안 문제와 버그가 발생하기 쉽습니다.

자신이 어떤 종류의 사용자 지정 작업을하고 있는지, 그리고 템플릿 시스템 등을 통해 코드 수준에서 추상화 할 수 있는지 스스로에게 질문하십시오.

+0

응 답에 감사합니다. 좀 더 많은 정보를 알려 드리겠습니다. 클라이언트 # 1이 자신의 계정에 사용자 정의 된 양식을 원한다고 말하면 클라이언트 # 2는 모든 사용자가 사진을 업로드하고 메시지를 보낼 수 있다고 말합니다.이러한 종류의 사용자 정의를 찾고 있습니다. –

0

디자인은 특정 일반 요구 사항에 맞출 수 있습니다. 따라서 일반적인 요구 사항이있을 때까지는 디자인을 할 수 없습니다. 예를 들어, 요구 사항이 각 클라이언트의 모양과 느낌이 다른 경우 동적 테마를 사용할 수 있습니다. 마찬가지로 다른 사용자의 위치를 ​​변경하려면 사용자 프로필을 생각할 수 있습니다. 언어의 경우 사용자 언어를 프로필의 일부로 유지할 수도 있습니다. 사용자 프로필 관리를위한 다양한 접근 방식을 연구하고 한 걸음 앞서 나가십시오.

0

다른 사람들이 말했듯이, "사용자 정의"가 의미하는 바를 많이 알지 못하면서 구체적인 대답을 내릴 수 없습니다. 유일한 의미있는 대답은 이미 제공 한 것입니다. 즉 가능한 한 데이터의 다양한 동작을 구현하는 것입니다.

이것 자체로는 간단한 작업이 아닐 수도 있습니다. 한 가지 응용 프로그램에서 필자는 상당히 성공적이었던 휴리스틱 인공 지능 엔진 (PHP)을 설계했습니다. 그러나 이것은 소프트웨어 엔지니어링에서 상당히 복잡한 연습이었습니다. 나는 그 질문을 할 필요가있는 누구에게나 추천 할 것을 주저하고 싶다.

모든 응용 프로그램 논리를 데이터로 푸는 것이 현실적이지 않다고 가정하면 고려할 수있는 몇 가지 다른 접근법이 있습니다. 를 분할 별도의 PHP 파일에 사용자 지정 (또는 템플릿의 경우는 단지 표시 일) :

<?php 

session_start(); 
/* do authentication checks...*/ 
$app=$_SESSION['user_profile'] . '/' . dirname($_SERVER['SCRIPT_NAME'] . '/inc.php'); 
if (! include_once($app)) { 
    include_once('default/'.dirname($_SERVER['SCRIPT_NAME'].'/inc.php'); 
} 
... 

것은이 데이터베이스에 PHP 코드를 저장하고 런타임에 그것을 평가 후면 추적 할 수없는 가망이 될 것이지만 - 나는대로이 추천하지 않는 게 좋을 코드 삽입 공격의 문을 엽니 다. OTOH, 다른 언어로 맞춤 설정을 구현하고 PHP에서 호출하는 것이 더 쉽습니다. 프롤로그.

+0

OK 사용자 정의가 의미하는 바입니다. 기본적으로 저는 비즈니스 인텔리전스 회사의 기술 측면을 운영하고 있습니다. 우리는 12 가지의 분석 도구와 함께 다양한 보고서와 정보를 제공합니다. 따라서 한 사용자는 내가 제공하는 모든 기능과 비즈니스의 특정 영역을 분석하고 계정에 업로드하는 맞춤 기능을 원한다고 말할 수 있습니다. 상상할 수 있듯이 많은 계정에 대해 수백 가지 요청이있을 수 있습니다. 이 정보가 도움이되기를 바랍니다. –

+1

며칠 동안 분석 작업을하지 않아도 (제안은 아니지만) 알기는 어렵지만 특정 제품을 특정 사용자에게만 노출하려는 것처럼 들리지만 몇 줄의 코드만으로도 데이터를 처리하기 쉽습니다 데이터를 관리합니다. – symcbean

관련 문제